【问题标题】:Qt Designer QListWidget checkboxQt Designer QListWidget 复选框
【发布时间】:2014-03-12 02:00:25
【问题描述】:

我正在使用 PyQt4 和 Qt 设计器。我有一个 QListWidget 在我的程序中加载文件后填充。

我想设置它,以便所有项目都可以检查,而不是只能选择。我在网上发现这是QListWidget 的“标志”,但是在Qt Designer 中我看不到在哪里执行此操作。

有可能吗?

【问题讨论】:

    标签: python qt pyqt pyqt4 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。

    【讨论】:

      猜你喜欢
      • 2014-01-21
      • 2015-12-28
      • 2021-05-03
      • 2014-10-22
      • 1970-01-01
      • 2021-12-18
      • 2011-09-10
      • 1970-01-01
      • 2019-08-04
      相关资源
      最近更新 更多