我正在使用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工作的东西?
答案 0 :(得分:20)
在PyQt5中,没有QString
,因此不需要QStringList
。
任何通常返回QString
的Qt API都会自动返回Python字符串。类似地,任何通常返回QStringList
的Qt API都将返回包含Python字符串的Python列表。反之亦然:任何通常接受 QString
或QStringList
的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