Qt Designer QListWidget 复选框
我正在使用PyQt4和Qt Designer。在我的程序中,我有一个QListWidget
,我会在加载文件后往里面添加内容。
我想把这个列表设置成所有的项目都可以被勾选,而不仅仅是可以选择。我在网上查到这是QListWidget
的一个“标志”,但是在Qt Designer里我找不到在哪里可以设置这个。
这可能吗?
2 个回答
0
这是一个老生常谈的问题。这里有个答案,但我想稍微解释一下:对于某些组件,仅仅设置项目的标志为 Qt::ItemIsUserCheckable 还不够,还需要设置项目的选中状态,才能让复选框显示出来。此外,没有一个通用的标志可以让所有项目都变得可以选中。
以下是 Qt 文档中的一段摘录:
请注意,可选中的项目需要同时设置合适的标志和初始状态,以指示该项目是否被选中。这在模型/视图组件中会自动处理,但对于 QListWidgetItem、QTableWidgetItem 和 QTreeWidgetItem 的实例,需要手动设置。
12
你可以通过打开编辑列表小部件的选项卡,查看里面的属性,然后设置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)