导入PyQt5时出现ImportError: 无法导入QStringList。

21

我正在使用PyQt5,但无法导入QStringList。我知道在PyQt4中,QStringList曾经在QtCore模块中。因此我尝试使用以下方法导入该类:

from PyQt5.QtCore import QStringList

但它显示了这个错误

C:\Python34\python.exe C:/Users/User/PycharmProjects/FirstProject/Test.py
Traceback (most recent call last):
File "C:/Users/User/PycharmProjects/FirstProject/Test.py", line 3, in <module>
from PyQt5.QtCore import QStringList
ImportError: cannot import name 'QStringList'

我正在使用PyCharm,它在自动补全中显示了一个叫做QStringListModel的东西。我在跟随Mark Summerfield的书“Python和Qt快速GUI开发”的教程。我该如何使用QStringList或者PyQt5中的其他东西来完成QStringList的工作?

2个回答

36
在PyQt5中,不存在QString,因此也不需要QStringList
任何本来会返回QString的Qt API都会自动返回Python字符串。同样地,任何本来会返回QStringList的Qt API都会返回包含Python字符串的Python列表。反之亦然:任何本来会接受QStringQStringList的Qt API都会接受相应的Python等效类型。
这与使用Python 3的PyQt4时的默认行为相同,或者使用sip.setapi明确设置API版本为2时相同。
有关更多细节,请参见PyQt4和PyQt5之间的区别PyQt5参考资料中。

1
您IP地址为143.198.54.68,由于运营成本限制,当前对于免费用户的使用频率限制为每个IP每72小时10次对话,如需解除限制,请点击左下角设置图标按钮(手机用户先点击左上角菜单按钮)。 - Sнаđошƒаӽ

-2
由于我找不到解决这个问题的方法,所以我想出了一个适合我的需求的解决办法。我从shell脚本启动我的Python脚本,并使用grep忽略错误消息。我希望这能对其他人有所帮助。〜/run/r_entry.py 2>&1| grep -v FIFinderSyncExtensionHost

1
这个答案似乎与问题没有任何关联。 - maldata

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接