PyQt5 QSpinBox – 为反悬停添加边框

  • Post category:Python

PyQt5是一款Python的GUI工具包,支持Qt5的所有功能。其中,QSpinBox是PyQt5中的一种控件,用于展示数字,通常情况下QSpinBox内涵一个上下按钮可以增加或减少数字。本次主要介绍PyQt5 QSpinBox如何为反悬停添加边框。

1. 安装PyQt5

首先,需要安装PyQt5库。使用以下命令进行安装:

pip install PyQt5

2. 导入库

接下来,需要在Python代码中引入QSpinBox控件和QGroupBox控件。可以使用以下代码:

from PyQt5.QtWidgets import QApplication, QSpinBox, QGroupBox

3. 创建控件

创建一个名为SpinBoxWidget的窗口,并添加一个QGroupBox控件。

class SpinBoxWidget(QWidget):
    def __init__(self):
        super().__init__()

        layout = QVBoxLayout()

        group_box = QGroupBox("QSpinBox Example")
        layout.addWidget(group_box)

        self.setLayout(layout)

4. 创建QSpinBox控件

在QGroupBox控件中添加QSpinBox控件。

class SpinBoxWidget(QWidget):
    def __init__(self):
        super().__init__()

        layout = QVBoxLayout()

        group_box = QGroupBox("QSpinBox Example")
        layout.addWidget(group_box)

        spin_box = QSpinBox()
        group_box_layout = QVBoxLayout()
        group_box_layout.addWidget(spin_box)

        group_box.setLayout(group_box_layout)

        self.setLayout(layout)

if __name__ == '__main__':
    app = QApplication([])
    widget = SpinBoxWidget()
    widget.show()
    app.exec_()

5. 为反悬停添加边框

为QSpinBox添加反悬停效果并添加边框。

class SpinBoxWidget(QWidget):
    def __init__(self):
        super().__init__()

        layout = QVBoxLayout()

        group_box = QGroupBox("QSpinBox Example")
        layout.addWidget(group_box)

        spin_box = QSpinBox()

        spin_box.setStyleSheet("""
            QSpinBox:hover {
                border: 1px solid red;
            }
            """)

        group_box_layout = QVBoxLayout()
        group_box_layout.addWidget(spin_box)

        group_box.setLayout(group_box_layout)

        self.setLayout(layout)

if __name__ == '__main__':
    app = QApplication([])
    widget = SpinBoxWidget()
    widget.show()
    app.exec_()

运行程序后,当鼠标悬停在QSpinBox控件上时,边框将变为红色。

以上是PyQt5 QSpinBox为反悬停添加边框的完整使用攻略,根据需要可以添加更多的控件来完成更为复杂的GUI应用。