快捷搜索:  汽车  科技

python中gui的单选框和复选框(131.PythonPyQt5:单选按钮和复选框的使用)

python中gui的单选框和复选框(131.PythonPyQt5:单选按钮和复选框的使用)import sys from PyQt5 import QtCore QtGui QtWidgets from Ui_rbtchk import Ui_MainWindow class MainWindow(QtWidgets.QMainWindow Ui_MainWindow): def __init__(self): super().__init__() self.setupUi(self) #选中的文本放入列表 self.txtlst=[] #设置文本框的字体大小 self.textEdit.setFontPointSize(16) #遍历所有的单选按钮 设置单选按钮的槽函数 # for child in

在PyQt5按钮中除了常用按钮(Push Button,还有单选按钮(Radio Button)、复选框(Check Box),也是经常用到的组件。

本文通过简单的实例来演示一下如何使用这两个组件。

一、界面设计(Qt Designer)

这里注意:单选按钮通过group box 分成两组,一组:深度学习框架,另一组:编程语言,人工智能应用领域为复选框。文本框用来显示单选和多选的情况。

python中gui的单选框和复选框(131.PythonPyQt5:单选按钮和复选框的使用)(1)

界面

二、实现代码:

import sys from PyQt5 import QtCore QtGui QtWidgets from Ui_rbtchk import Ui_MainWindow class MainWindow(QtWidgets.QMainWindow Ui_MainWindow): def __init__(self): super().__init__() self.setupUi(self) #选中的文本放入列表 self.txtlst=[] #设置文本框的字体大小 self.textEdit.setFontPointSize(16) #遍历所有的单选按钮 设置单选按钮的槽函数 # for child in self.findChildren(QtWidgets.QRadioButton): # #print(child.objectName()) # child.toggled.connect(lambda:self.rbt_toggled(child)) self.rbt1.toggled.connect(lambda:self.rbt_toggled(self.rbt1)) self.rbt2.toggled.connect(lambda:self.rbt_toggled(self.rbt2)) self.rbt3.toggled.connect(lambda:self.rbt_toggled(self.rbt3)) self.rbt4.toggled.connect(lambda:self.rbt_toggled(self.rbt4)) self.rbt5.toggled.connect(lambda:self.rbt_toggled(self.rbt5)) self.rbt6.toggled.connect(lambda:self.rbt_toggled(self.rbt6)) #check box槽函数 self.chk1.StateChanged.connect(lambda:self.chk_state(self.chk1)) self.chk2.stateChanged.connect(lambda:self.chk_state(self.chk2)) self.chk3.stateChanged.connect(lambda:self.chk_state(self.chk3)) #radio button槽函数 def rbt_toggled(self radioButton): rbttxt=radioButton.text() #获取选中的文本 #print(rbttxt radioButton.isChecked()) if radioButton.isChecked(): if rbttxt not in self.txtlst: self.txtlst.append(rbttxt) else: if rbttxt in self.txtlst: self.txtlst.remove(rbttxt) #print(self.txtlst) self.textEdit.setText(str(self.txtlst)) #check box槽函数 def chk_state(self checkBox): #判断是否选中 chktxt=checkBox.text() #获取选中的文本 #print(checkBox.text() checkBox.isChecked() checkBox.checkState()) if checkBox.isChecked(): if chktxt not in self.txtlst: self.txtlst.append(chktxt) if checkBox.isChecked()==False: if chktxt in self.txtlst: self.txtlst.remove(chktxt) #print(self.txtlst) self.textEdit.setText(str(self.txtlst)) if __name__ == '__main__': app=QtWidgets.QApplication(sys.argv) mywin=MainWindow() mywin.setWindowTitle('RadioButton and CheckBox') mywin.show() sys.exit(app.exec_()) 三、运行效果

四、视频讲解

猜您喜欢: