【发布时间】:2014-03-12 02:00:25
【问题描述】:
我正在使用 PyQt4 和 Qt 设计器。我有一个 QListWidget 在我的程序中加载文件后填充。
我想设置它,以便所有项目都可以检查,而不是只能选择。我在网上发现这是QListWidget 的“标志”,但是在Qt Designer 中我看不到在哪里执行此操作。
有可能吗?
【问题讨论】:
标签: python qt pyqt pyqt4 qt-designer
我正在使用 PyQt4 和 Qt 设计器。我有一个 QListWidget 在我的程序中加载文件后填充。
我想设置它,以便所有项目都可以检查,而不是只能选择。我在网上发现这是QListWidget 的“标志”,但是在Qt Designer 中我看不到在哪里执行此操作。
有可能吗?
【问题讨论】:
标签: python qt pyqt pyqt4 qt-designer
您可以通过打开编辑列表小部件项目选项卡来执行此操作,并查看属性。并设置 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)
【讨论】:
这个古老的问题。这里有一个答案,但我会尝试澄清一下:对于几个组件,设置项目标志 Qt::ItemIsUserCheckable 是不够的,需要设置项目的检查状态才能出现复选框。此外,没有小部件标志可以使所有项目都可检查。
Qt 文档摘录:
请注意,可检查的项目需要同时提供一组合适的 标志和初始状态,指示该项目是否被选中或 不是。对于模型/视图组件,这是自动处理的,但是 需要为 QListWidgetItem 的实例显式设置, QTableWidgetItem 和 QTreeWidgetItem。
【讨论】: