如何简单地使用PyQt创建带下拉列表的复选框列表类似于组合框?

2024-06-16 12:40:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我是PyQt的新手,我必须开发一个使用它的应用程序。目前,我没什么问题,但我有点事要做。我必须创建一个“组合框,它的项目可以选中,就像一个复选框”。这个组合框应该包含许多图像格式,比如“jpg”、“exr”或“tga”,我必须选择选中选项的文本并将其放入变量中。问题是我找不到使用组合框检查项目的方法(如果你知道怎么做,它会很乐意帮助我!)在

既然我不能用组合框来做,也许我可以用QList来做,但是我也找不到任何对我这样的初学者来说可以理解的东西。我读过关于国旗和“Qt.ItemIsUserCheckable“但我不知道如何简单地使用它:(

你能帮我吗?谢谢!在

PyQt版本:4.4.3 Python版本:2.6


Tags: 项目方法文本版本应用程序选项图像格式pyqt
1条回答
网友
1楼 · 发布于 2024-06-16 12:40:06

您可以使用model->;view framework来实现这一点,但这意味着实现一个自定义模型来支持可检查的数据。在

您可以通过子类化qabstractemmodel来创建自定义模型。这为QComboBox提供了一个API,用于访问底层数据。首先,我认为您需要实现flags方法,以指示您支持ItemIsUserCheckable,以便能够检查索引。您还需要实现data(),它从底层数据报告数据状态,setData()接受来自QComboBox的输入并更改底层数据。在

然后使用setModel()将其设置为QComboBox的模型。在

这不是真正的初学者的东西,但是Qt中的model->;view框架是它最重要和最有价值的特性之一,非常值得学习。在

相关问题 更多 >