Qt Designer QListWidget 复选框
Posted
技术标签:
【中文标题】Qt Designer QListWidget 复选框【英文标题】:Qt Designer QListWidget checkbox 【发布时间】:2014-03-12 02:00:25 【问题描述】:我正在使用 PyQt4 和 Qt 设计器。我有一个 QListWidget
在我的程序中加载文件后填充。
我想设置它,以便所有项目都可以检查,而不是只能选择。我在网上发现这是QListWidget
的“标志”,但是在Qt Designer 中我看不到在哪里执行此操作。
有可能吗?
【问题讨论】:
【参考方案1】:您可以通过打开编辑列表小部件项目选项卡来执行此操作,并查看属性。并设置 checkState 属性。
**更新**
item = QtGui.QListWidgetItem()
item.setText(QtGui.QApplication.translate("Dialog", x, None, QtGui.QApplication.UnicodeUTF8))
item.setFlags(item.flags() | QtCore.Qt.ItemIsUserCheckable)
item.setCheckState(QtCore.Qt.Unchecked)
self.listWidget.addItem(item)
【讨论】:
好的,我现在明白了,但这只是在你制作了一个项目之后。我的清单中没有任何项目。我在程序启动后填充列表,因此复选框不是针对单个项目,而是针对将在该列表小部件中的所有项目 @user1938107 :分享用于加载 gui 的代码以及如何填充 itemwidget 我有一个列表小部件,它被称为 myListwidget,我通过 self.myListwidget.addItem(someString) 填充它 所以 addItem 只是自动创建 QListWidgetItem() 而无需指定它,但随后不允许设置标志?对于 qt 来说,让列表中的所有项目在创建时都可以检查是有意义的【参考方案2】:这个古老的问题。这里有一个答案,但我会尝试澄清一下:对于几个组件,设置项目标志 Qt::ItemIsUserCheckable 是不够的,需要设置项目的检查状态才能出现复选框。此外,没有小部件标志可以使所有项目都可检查。
Qt 文档摘录:
请注意,可检查的项目需要同时提供一组合适的 标志和初始状态,指示该项目是否被选中或 不是。对于模型/视图组件,这是自动处理的,但是 需要为 QListWidgetItem 的实例显式设置, QTableWidgetItem 和 QTreeWidgetItem。
【讨论】:
以上是关于Qt Designer QListWidget 复选框的主要内容,如果未能解决你的问题,请参考以下文章
Qt 5.7 -> 5.8 将 QIcon 添加到 QListwidget
Qt - QStringList 到 QListWidget*item