ImportError:无法在PyQt5中导入名称'QStringList'

时间:2015-01-03 17:41:24

标签: python python-3.x import qstring pyqt5

我正在使用PyQt5,但无法导入QStringList。我知道QStringList曾经在PyQt4的模块QtCore中。所以我尝试使用

导入类
from PyQt5.QtCore import QStringList

但它显示此错误

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

我正在使用PyCharm并在自动完成中显示一个名为QStringListModel的东西。我正在阅读这本书#34;用Python和Qt快速GUI开发&#34;作者:Mark Summerfield。如何在PyQt5中使用QStringList或其他任何可以完成QStringList工作的东西?

2 个答案:

答案 0 :(得分:20)

在PyQt5中,没有QString,因此不需要QStringList

任何通常返回QString的Qt API都会自动返回Python字符串。类似地,任何通常返回QStringList的Qt API都将返回包含Python字符串的Python列表。反之亦然:任何通常接受 QStringQStringList的Qt API都会接受Python等价物。

这与使用PyQt4 with Python 3或使用sip.setapi明确setting the API to version 2时的默认行为相同。

有关详细信息,请参阅Differences Between PyQt4 and PyQt5中的PyQt5 Reference

答案 1 :(得分:0)

由于找不到该问题的解决方案,因此我想出了一种解决方法。我从外壳程序脚本启动python脚本,并使用grep忽略错误消息。我希望这对其他人有帮助。 ~/run/r_entry.py 2>&1| grep -v FIFinderSyncExtensionHost