我正在使用PyQt4和Qt Designer。在我的程序中加载文件后,我有一个QListWidget,我会在其中填充数据。
我想让所有项目都可以被勾选,而不仅仅是可选择的。我在网上找到了这是“QListWidget”的一个“flag”,然而,在Qt Designer中我无法看到如何设置这个标志。
这可能吗?
我想让所有项目都可以被勾选,而不仅仅是可选择的。我在网上找到了这是“QListWidget”的一个“flag”,然而,在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的实例明确设置。