Buttons按键也是在Qt中常用的一种控件,Buttons常用的三种按键,pushbutton,checkbox,radiobutton。 UI界面:
其中有三个textBrowser用来显示打印信息,测试信号槽。 pushbutton: 连接信号与槽 connect代码:
代码语言:javascript复制 self.pushButton.clicked.connect(self.Print)
self.pushButton_2.clicked.connect(self.Print)
槽函数: 为所有按钮点击槽函数,即所有类型按钮基础点击信号,按下信号,抬起信号都为继承与QAbstractButton Class的信号
代码语言:javascript复制 self.Num = 0
def Print(self):
self.Num = 1
self.textBrowser_2.setText("按下" str(self.Num))
释放与抬起连接槽:
代码语言:javascript复制 self.pushButton.pressed.connect(self.On_Pressed)
self.pushButton.released.connect(self.On_Released)
释放与按下槽函数:
代码语言:javascript复制 def On_Pressed(self):
self.textBrowser_3.setText("pushbutton按下" str(self.Num))
def On_Released(self):
self.textBrowser_3.setText("pushbutton抬起")
ButtonGroups: 用来实现按键互斥状态,将按键编组,方便操作。 pushbutton按键自悬:
代码语言:javascript复制 self.pushButton.setCheckable(True)
self.pushButton_2.setCheckable(True)
ButtonGroup实例化:
代码语言:javascript复制self.pushButtonGroup = QButtonGroup(self)
添加按钮:
代码语言:javascript复制 self.pushButtonGroup.addButton(self.pushButton)
self.pushButtonGroup.addButton(self.pushButton_2)
连接信号与槽:
代码语言:javascript复制 self.pushButtonGroup.buttonClicked.connect(self.pushbutton_clicked)
槽函数:
代码语言:javascript复制 def pushbutton_clicked(self,button):
self.textBrowser.setText(button.text())
Checkbox与pushbutton一样,源码中有具体实现方法。 Radiobutton自带互斥,没有测试ButtonGroup. 文件源码如下: 源文件