📜  PyQt5 – 切换按钮(1)

📅  最后修改于: 2023-12-03 14:45:50.612000             🧑  作者: Mango

PyQt5 – 切换按钮

在 PyQt5 中,切换按钮是一种简单的按钮类型,当点击时,它会在“选中”和“未选中”两种状态之间切换。这个按钮常常用于实现启用/禁用某些功能的效果。

创建切换按钮

创建切换按钮非常简单,只需要使用 QCheckBox 类即可。可以使用 setText() 方法来设置按钮的标签。

from PyQt5.QtWidgets import QApplication, QWidget, QCheckBox

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

        self.initUI()

    def initUI(self):
        cb = QCheckBox('切换按钮', self)
        cb.move(20, 20)
        cb.toggle()

        self.setGeometry(300, 300, 250, 150)
        self.setWindowTitle('切换按钮')
        self.show()

if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())

运行代码,会看到一个带有标签“切换按钮”的切换按钮。初始状态下,按钮是选中状态的。

获取切换按钮状态

获取切换按钮状态很简单,只需要调用 isChecked() 方法即可。这个方法返回 True 表示按钮处于选中状态,返回 False 表示按钮处于未选中状态。

def initUI(self):
    cb = QCheckBox('切换按钮', self)
    cb.move(20, 20)
    cb.toggle()
    cb.stateChanged.connect(self.changeTitle)

    self.setGeometry(300, 300, 250, 150)
    self.setWindowTitle('切换按钮')
    self.show()

def changeTitle(self, state):
    if state == Qt.Checked:
        self.setWindowTitle('选中')
    else:
        self.setWindowTitle('未选中')

在这个例子中,我们调用 stateChanged 信号并将其连接到 changeTitle() 方法。每次按钮的状态发生改变时,changeTitle() 方法就会被调用。如果按钮被选中,窗口的标题就会被设置为“选中”,否则就会被设置为“未选中”。

总结

这就是在 PyQt5 中创建和使用切换按钮的方法了。通过这个简单的小部件,可以实现很多有用的功能,如打开/关闭一些选项,启用/禁用某些功能等。