2015-01-03 3 views
9

Я использую PyQt5, но не могу импортировать QStringList. Я знаю, что QStringList использовался в модуле QtCore в PyQt4. Поэтому я стараюсь импортировать класс с помощьюImportError: не могу импортировать имя 'QStringList' в PyQt5

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. Я следил за книгой «Rapid GUI Development с Python и Qt» от Марка Саммерфилда. Как использовать QStringList или что-нибудь еще в PyQt5, который выполнит работу QStringList?

ответ

13

В PyQt5 нет QString и, следовательно, нет необходимости в QStringList.

Любой API Qt, который обычно возвращает QString, будет автоматически возвращать строку Python. Аналогично, любые API Qt, которые обычно возвращают QStringList, вернут список Python, содержащий строки Python. И наоборот: применяется любой Qt API, который обычно принимает a QString или QStringList будет принимать эквиваленты Python.

Это то же самое, что и при использовании по умолчанию при использовании PyQt4 with Python 3 или при явном setting the API to version 2 с использованием sip.setapi.

Для получения дополнительной информации см.: Differences Between PyQt4 and PyQt5 в PyQt5 Reference.

+0

Спасибо. Я, наконец, обошел проблему с QStringList в PyQt5. Просто заменил QStringList списком, вот и все! –

 Смежные вопросы

  • Нет связанных вопросов^_^