如何将MultiCheckComboBox移植到PySide?

时间:2016-04-18 01:40:08

标签: python pyside

我希望组合框中的项目可以检查。我找到了一种方法here

这个具体的例子使用PyQt,因为我使用PySide,它需要一些修改才能工作。

我收到的第一个错误是QStringList,我用[]代替。

然后我收到以下错误:

Traceback (most recent call last):
  File "MultiCheckComboBox.py", line 401, in data
    if not value.isValid():
AttributeError: 'NoneType' object has no attribute 'isValid'

我不确定需要更改什么来修复上述错误。

1 个答案:

答案 0 :(得分:0)

PyQt4(默认情况下)返回一些值作为QVariant的实例(尽管它可以配置为返回本机Python类型)。但是,PySide总是转换为本机Python类型。

您的代码假设PyQt4将使用QVariant。该行代码假定valueQVariant。您需要将其更改为:

if value is not None:

在这种情况下,但是这不可能是此代码中QVariant的唯一实例,并且您需要对这些实例进行的修改将取决于代码所在的QVariant函数。试着打电话。