我是PyQt的新手,我必须开发一个使用它的应用程序。目前,我没什么问题,但我有点事要做。我必须创建一个“组合框,它的项目可以选中,就像一个复选框”。这个组合框应该包含许多图像格式,比如“jpg”、“exr”或“tga”,我必须选择选中选项的文本并将其放入变量中。问题是我找不到使用组合框检查项目的方法(如果你知道怎么做,它会很乐意帮助我!)在
既然我不能用组合框来做,也许我可以用QList来做,但是我也找不到任何对我这样的初学者来说可以理解的东西。我读过关于国旗和“Qt.ItemIsUserCheckable“但我不知道如何简单地使用它:(
你能帮我吗?谢谢!在
PyQt版本:4.4.3 Python版本:2.6
您可以使用model->;view framework来实现这一点,但这意味着实现一个自定义模型来支持可检查的数据。在
您可以通过子类化qabstractemmodel来创建自定义模型。这为QComboBox提供了一个API,用于访问底层数据。首先,我认为您需要实现flags方法,以指示您支持ItemIsUserCheckable,以便能够检查索引。您还需要实现data(),它从底层数据报告数据状态,setData()接受来自QComboBox的输入并更改底层数据。在
然后使用setModel()将其设置为QComboBox的模型。在
这不是真正的初学者的东西,但是Qt中的model->;view框架是它最重要和最有价值的特性之一,非常值得学习。在
相关问题 更多 >
编程相关推荐