重庆网站优化公司哪家便宜,网站设计需求文档,如何写网站建设报告,合作在惠州做网站可以用pyqt5创建一个开关按钮吗#xff1f;在我正在用pyqt5在python中设计一个过滤工具。用户甚至可以对其数据进行过滤或合并。在我在qtablewidget中显示可能的过滤器#xff0c;用户可以使用复选框选择要应用的过滤器。在每一行中#xff0c;复选框都是独占的#xff0c;…可以用pyqt5创建一个开关按钮吗在我正在用pyqt5在python中设计一个过滤工具。用户甚至可以对其数据进行过滤或合并。在我在qtablewidget中显示可能的过滤器用户可以使用复选框选择要应用的过滤器。在每一行中复选框都是独占的即用户不能同时选择一个过滤器及其补码。在但问题是一旦我们选中了一行中的一个复选框我们就不能取消选中它除非我们选择了相反的复选框。事实上当过滤器刚刚加载时所有的框都被取消选中(它们在某种程度上是空的)所以我可以选择应用哪个过滤器但是当我想选择另一个过滤器时前一个过滤器的其中一个框仍然处于选中状态(方框过滤器或方框补码被选中)我无法将其关闭。在这就是为什么我考虑在每一行添加一个开关按钮来禁用过滤器。通过这样做我将能够考虑是否考虑到选中的属性。在下面是我想要的一个例子下面是一个可复制的例子from PyQt5 import QtCore, QtGui, QtWidgetsclass Ui_MainWindow(object):def setupUi(self, MainWindow):MainWindow.setObjectName(MainWindow)MainWindow.resize(550, 350)MainWindow.setMinimumSize(QtCore.QSize(550, 350))MainWindow.setMaximumSize(QtCore.QSize(550, 350))self.centralwidget QtWidgets.QWidget(MainWindow)self.centralwidget.setObjectName(centralwidget)self.tableWidget QtWidgets.QTableWidget(self.centralwidget)self.tableWidget.setGeometry(QtCore.QRect(20, 20, 500, 200))self.tableWidget.setObjectName(tableWidget)self.tableWidget.setColumnCount(3)self.tableWidget.setRowCount(0)item QtWidgets.QTableWidgetItem()self.tableWidget.setHorizontalHeaderItem(0, item)item QtWidgets.QTableWidgetItem()self.tableWidget.setHorizontalHeaderItem(1, item)item QtWidgets.QTableWidgetItem()self.tableWidget.setHorizontalHeaderItem(2, item)self.pushButton_Save QtWidgets.QPushButton(self.centralwidget)self.pushButton_Save.setGeometry(QtCore.QRect(120, 250, 100, 50))self.pushButton_Save.setMinimumSize(QtCore.QSize(100, 50))self.pushButton_Save.setMaximumSize(QtCore.QSize(100, 50))self.pushButton_Save.setObjectName(pushButton_Save)MainWindow.setCentralWidget(self.centralwidget)self.menubar QtWidgets.QMenuBar(MainWindow)self.menubar.setGeometry(QtCore.QRect(0, 0, 550, 21))self.menubar.setObjectName(menubar)MainWindow.setMenuBar(self.menubar)self.statusbar QtWidgets.QStatusBar(MainWindow)self.statusbar.setObjectName(statusbar)MainWindow.setStatusBar(self.statusbar)self.retranslateUi(MainWindow)QtCore.QMetaObject.connectSlotsByName(MainWindow)def retranslateUi(self, MainWindow):_translate QtCore.QCoreApplication.translateMainWindow.setWindowTitle(_translate(MainWindow, MainWindow))item self.tableWidget.horizontalHeaderItem(0)item.setText(_translate(MainWindow, Name))item self.tableWidget.horizontalHeaderItem(1)item.setText(_translate(MainWindow, Filter))item self.tableWidget.horizontalHeaderItem(2)item.setText(_translate(MainWindow, complement))self.pushButton_Save.setText(_translate(MainWindow, Save))self.pushButton_Save.clicked.connect(self.bindSave)def bindSave(self):numRows self.tableWidget.rowCount()self.tableWidget.insertRow(numRows)groupButton QtWidgets.QButtonGroup(self.tableWidget)groupButton.setExclusive(True)it1 QtWidgets.QTableWidgetItem(filter str(numRows))self.tableWidget.setItem(numRows, 0, it1)ch_bx1 QtWidgets.QCheckBox()groupButton.addButton(ch_bx1)self.tableWidget.setCellWidget(numRows, 1, ch_bx1)ch_bx2 QtWidgets.QCheckBox()groupButton.addButton(ch_bx2)self.tableWidget.setCellWidget(numRows, 2, ch_bx2)if __name__ __main__:if not QtWidgets.QApplication.instance():app QtWidgets.QApplication(sys.argv)else:app QtWidgets.QApplication.instance()MainWindow QtWidgets.QMainWindow()ui Ui_MainWindow()ui.setupUi(MainWindow)MainWindow.show()