PyQt5を使用していますが、QStringListをインポートできません。 QStringListがPyQt4の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著の「Rapid GUI Development with Python and Qt」を読んでいました。QStringList、またはQStringListの機能を果たすPyQt5の他の方法を使用するにはどうすればよいですか?
PyQt5ではQString
がないため、QStringList
は必要ありません。
通常QString
を返すQt APIは、代わりに自動的にPython文字列を返します。同様に、通常QStringList
を返すQt APIはa Pythonリストを含むPython文字列。そしてその逆も当てはまります:通常を受け入れるすべてのQt APIが受け入れますQString
またはQStringList
はPythonの同等物を代わりに受け入れます。
これは、 PyQt4をPython と併用する場合、または明示的に APIをバージョン2に設定する を使用する場合のsip.setapi
を使用する場合のデフォルトの動作と同じです。
詳細については、 PyQt5リファレンス の PyQt4とPyQt5の違い を参照してください。
この問題の解決策を見つけることができなかったので、自分のニーズに対する回避策を考え出しました。シェルスクリプトからpythonスクリプトを開始し、grepを使用してエラーメッセージを無視します。これが他の人に役立つことを願っています。~/run/r_entry.py 2>&1| grep -v FIFinderSyncExtensionHost