python中开关_pyq中的开关按钮
可以用pyqt5创建一个开关按钮吗?在
我正在用pyqt5在python中设计一个过滤工具。用户甚至可以对其数据进行过滤或合并。在
我在qtablewidget中显示可能的过滤器,用户可以使用复选框选择要应用的过滤器。在每一行中,复选框都是独占的,即用户不能同时选择一个过滤器及其补码。在
但问题是,一旦我们选中了一行中的一个复选框,我们就不能取消选中它,除非我们选择了相反的复选框。
事实上,当过滤器刚刚加载时,所有的框都被取消选中(它们在某种程度上是空的),所以我可以选择应用哪个过滤器,但是当我想选择另一个过滤器时,前一个过滤器的其中一个框仍然处于选中状态(方框过滤器或方框补码被选中),我无法将其关闭。在
这就是为什么我考虑在每一行添加一个开关按钮来禁用过滤器。通过这样做,我将能够考虑是否考虑到选中的属性。在
下面是我想要的一个例子:
下面是一个可复制的例子from PyQt5 import QtCore, QtGui, QtWidgets
class 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.translate
MainWindow.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()
python中开关_pyq中的开关按钮相关推荐
- 使用Python,EoN模拟网络中的疾病扩散模型,并结合matplotlib绘图
使用Python,EoN模拟网络中的疾病扩散模型,并结合matplotlib绘图 1. EoN是什么 2. 安装 3. 效果图 4. 源代码 4.1 源码 4.2 源码 参考 写这篇博客源于博友的提问 ...
- 使用Python,OpenCV在视频中进行实时条形码检测
使用Python,OpenCV在视频中进行实时条形码检测 1. 步骤 2. 适用场景及优化 3. 总结 4. 源码 参考 上一篇博客介绍了如何检测和查找图像中的条形码.这篇博客将进行一些优化以检测实时 ...
- 关于python缩进的描述中_关于Python程序中与“缩进”有关的说法中,以下选项中正确的是()...
关于Python程序中与"缩进"有关的说法中,以下选项中正确的是() 答:缩进在程序中长度统一且强制使用 同文学或同音乐主题的民歌,<_______>是其中之一.此曲经 ...
- python缩进在程序中长度统一且强制使用_Python习题纠错1
February, 1991 0.9.1 2.Python语言的缩进只要统一即可,不一定是4个空格(尽管这是惯例). Python缩进在程序中长度统一且强制使用. 3.IPO:Input Proces ...
- python中json dumps_python中json.loads,dumps,jsonify使用
search_info = {'id':132,'user_role':3} print type(search_info) #输出 #转为string用dumps print type(json.d ...
- python io模块_python中的StringIO模块
原博文 2015-10-23 15:21 − # python中的StringIO模块 标签:python StringIO --- > 此模块主要用于在内存缓冲区中读写数据.模块是用类编写的, ...
- python调用js库中的函数_Python 调用JS文件中的函数
Python 调用JS文件中的函数 1.安装PyExecJS第三方库 2.导入库:import execjs 3.调用JS文件中的方法 Passwd = execjs.compile(open(r&q ...
- python使用statsmodels包中的tsaplots函数和lags参数可视化时间序列数据指定滞后位置个数(级别)以前的所有自相关性(plot the autocorrelation)
python使用statsmodels包中的tsaplots函数和lags参数可视化时间序列数据指定滞后位置个数(级别)以前的所有自相关性(plot the autocorrelation Funct ...
- python使用statsmodels包中的robust.mad函数以及pandas的apply函数计算dataframe中所有数据列的中位数绝对偏差(MAD)
python使用statsmodels包中的robust.mad函数以及pandas的apply函数计算dataframe中所有数据列的中位数绝对偏差(MAD.Median Absolute Devi ...
最新文章
- 【数据结构与算法】之深入解析“省份数量”的求解思路与算法示例
- TI Sitara AM335x系统之AM335x uboot spl分析
- 华为鸿蒙怎么体验,华为鸿蒙 HarmonyOS 2.0 发布,教你如何升级体验
- 2017 济南综合班 Day 2
- 关于mysql的论文,大家给点建议
- 我的数据分析入门整理(一)
- 微信小程序 讲座预约签到系统java python php
- Windows使用WakeOnLan配置【较详细】
- 如何批量将图片转换为 Excel 文档
- 往期回顾和开学第二周总结
- 【Android破解笔记】割绳子2内购
- 年薪30万+的HR这样做数据分析!(附关键指标免费模版)
- 【O2O领域】Axure外卖配送代理商调度系统原型,生鲜配送站团队管理后台原型
- 一名富有激情的潮汕籍工程师的进阶之路:数据即未来
- 用 justify-content 属性设置子元素两端对齐
- 【从0到1搭建LoRa物联网】14、低成本单通道网关(二)
- finalize 复活_为什么Sekiro的其他内容将在2020年复活
- 图神经网络论文阅读(九) Break the Ceiling: Stronger Multi-scale Deep Graph Convolutional Networks,NeurIPS2019
- 甲方安全之仿真钓鱼演练(邮件+网站钓鱼)
- System.Globalization.CultureInfo.InvariantCulture 解决不同地域字符串格式不同问题
热门文章
- Bit Manipulation —— 位运算
- Python3 实现单例设计模式
- canoco5主成分分析步骤_R语言 PCA主成分分析
- 字节跳动offer流程多长时间_字节跳动-运营实习生-面经实录(已Offer??)
- 06-广度优先搜索:图、队列
- 土木工程到底有多惨?哭了哭了......
- Linux里10个最危险的命令
- mysql去掉两个最高分_数据分析系列 16/32 | MySQL中子查询与联合查询
- python选择题题目_Python接口测试题(持续更新中)
- mysql 常用权限_MySQL的权限有哪些