📜  PyQt5 QCommandLinkButton – 切换信号(1)

📅  最后修改于: 2023-12-03 15:33:52.823000             🧑  作者: Mango

PyQt5 QCommandLinkButton – 切换信号

PyQt5是一种基于Python编程语言的GUI工具包,其中包括了QCommandLinkButton组件。QCommandLinkButton是Qt界面组件中的一种,可以根据需要创建单选或多选的按钮,并进行信号处理。在本文中,我们将讨论如何在PyQt5中使用QCommandLinkButton的切换信号。

切换信号介绍

QCommandLinkButton组件的切换信号是在按钮状态发生改变时触发的信号。在单选模式下,当按钮被选中时,将发出该信号,反之亦然。在多选模式下,当按钮被选中或取消选中时,都会发出该信号。该信号提供了处理按钮状态改变的途径,例如将按钮状态与其他UI元素进行同步。

如何使用切换信号

我们可以通过PyQt5中的SIGNAL-SLOT机制来捕获QCommandLinkButton的切换信号。下面是PyQt5中QCommandLinkButton的基本用法:

from PyQt5.QtWidgets import QApplication, QCommandLinkButton, QWidget, QVBoxLayout
import sys
 
 
class Window(QWidget):
    def __init__(self):
        super().__init__()
 
        self.initUI()
 
    def initUI(self):
        vbox = QVBoxLayout()
 
        # 创建一个QCommandLinkButton
        self.btn = QCommandLinkButton('Hello', self)
        vbox.addWidget(self.btn)
 
        # 绑定切换信号至onToggle函数
        self.btn.toggled.connect(self.onToggle)
 
        self.setLayout(vbox)
        self.setGeometry(300, 300, 250, 150)
        self.setWindowTitle('QCommandLinkButton切换信号')
        self.show()
 
    def onToggle(self, state):
        # state为True时,按钮被选中
        if state:
            print('按钮选中!')
        else:
            print('按钮未选中!')
 
 
if __name__ == '__main__':
    app = QApplication(sys.argv)
    win = Window()
    sys.exit(app.exec_())

在上述例子中,我们创建了一个包含单个QCommandLinkButton的PyQt5窗口。通过 toggled 信号将切换事件绑定至 onToggle() 函数。当按钮状态改变时, onToggle() 函数将被调用,并将按钮状态作为其参数传递。

结论

QCommandLinkButton组件的切换信号可提供开发人员处理按钮状态改变的途径。在PyQt5中,我们可通过 toggled 信号捕获并处理该事件。