📅  最后修改于: 2023-12-03 15:33:53.649000             🧑  作者: Mango
在PyQt5中,QSpinBox是一个可以让用户选择数字的小部件。通过添加边框,可以增强用户在处理该小部件时的反馈。
为了给反悬停添加一个边框,需要创建一个自定义样式表并将其应用于QSpinBox小部件。以下是一个简单的例子:
from PyQt5.QtWidgets import QApplication, QMainWindow, QSpinBox
from PyQt5.QtCore import Qt
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
spinbox = QSpinBox(self)
spinbox.setGeometry(100, 100, 100, 30)
spinbox.setStyleSheet("""
QSpinBox {
border: 2px solid gray;
}
QSpinBox:hover {
border: 2px solid blue;
}
""")
if __name__ == '__main__':
app = QApplication([])
window = MainWindow()
window.show()
app.exec_()
在上面的代码中,我们创建了一个QMainWindow,并将QSpinBox添加为其子元素。然后,我们为QSpinBox创建了一个自定义样式表,并为其添加了一个初始状态下的灰色边框。当我们将鼠标悬停在QSpinBox上时,样式表中的另一个项将被应用,从而使蓝色边框覆盖灰色边框。
以上的示例只是一种简单的方式来增强QSpinBox部件的反馈。您可以使用任何其他属性和样式表元素以实现更广泛的视觉效果。在下面的示例中,我们使用了一个其他属性,使QSpinBox具有圆角。
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
spinbox = QSpinBox(self)
spinbox.setGeometry(100, 100, 100, 30)
spinbox.setStyleSheet("""
QSpinBox {
border: 2px solid gray;
border-radius: 10px;
}
QSpinBox:hover {
border: 2px solid blue;
}
""")
在上面的代码中,我们添加了一个新的属性:“border-radius: 10px”,将QSpinBox的边框半径设置为10像素。这使得QSpinBox的边角更加圆滑,增加了视觉吸引力。
总的来说,通过使用自定义样式表,您可以为QSpinBox小部件添加各种不同的视觉效果。