Найти - Пользователи
Полная версия: PyQt4 и QStringList
Начало » GUI » PyQt4 и QStringList
1 2
MrViktor
Всем добрый день.
Начал изучать Qt4, но так как не нашел нормально документации по PyQt на русском языке, взял доку по Qt4 для C++.
Я использую:
ОС - Ubuntu 15.04
ЯП - Python 3.4
GUI - PyQt4 (ставил из репов и собирал вручную результат один)

Суть проблемы в том, что в примере из документации используют QStringList из модуля QtCore, но когда я пытаюсь его даже импортировать (в консоле python) получаю ошибку
 Python 3.4.3 (default, Mar 26 2015, 22:03:40) 
[GCC 4.9.2] on linux
>>> from PyQt4.QtCore import QStringList
Traceback (most recent call last):
  File "/usr/lib/python3.4/code.py", line 90, in runcode
    exec(code, self.locals)
  File "<input>", line 1, in <module>

А когда в в коде пытаюсь получить экземпляр класса QStringList, получаю ошибку
 /usr/bin/python3.4 /home/Vik/Projects/test_my/ex_3.py
Traceback (most recent call last):
  File "/home/Vik/Projects/test_my/ex_3.py", line 35, in <module>
    test = QStringList()
NameError: name 'QStringList' is not defined
Process finished with exit code 1
Подскажите, что я делаю не так, в интернете очень много примеров с использованием этого класса в PyQt4.
FishHook
MrViktor
не нашел нормально документации по PyQt на русском языке
https://www.litres.ru/n-prohorenok/python-3-i-pyqt-razrabotka-prilozheniy-5582586/
vic57
MrViktor
GUI - PyQt4 (ставил из репов и собирал вручную результат один)
в консоли
 pydoc -p 8000
в браузере http://localhost:8000
в секции site-packages д.б. PyQt
вообще лучше через pip ставить
 sudo apt-get install python-pip3
pip3 install PyQt4
MrViktor
FishHook
Спасибо, смотрел в сторону этой книжки, но не смог найти. Сейчас попробую найти скан в инете. Сами ее читали? интересует в плане полезности как она?

vic57
Вообще шикарно… не знал об этом, только в моем случае в консоли
 pydoc3 -p 8000

Насколько я понял, QString и QStringList - убрали начиная с какой-то версии PyQt, адаптировали вывод под python формат.
vic57
MrViktor
Насколько я понял, QString и QStringList - убрали начиная с какой-то версии PyQt, адаптировали вывод под python формат.
да не должно быть
попробуй
 >>> from PyQt4.Qt import *
>>> l = QStringList()
>>> l
<PyQt4.QtCore.QStringList object at 0x10a2bea28>
>>> 
MrViktor
vic57
вообще лучше через pip ставить

sudo apt-get install python-pip3
pip3 install PyQt4

Нет-нет, проблема не в установке. Становил вообще через
 sudo apt-get install python3-PyQt4
Проблема в том, что QString уже нет
MrViktor
vic57
да не должно быть
попробуй
Вот что нашел
 Selecting Incompatible APIs
PyQt4 provides limited support for multiple incompatible APIs and the ability for an application to select between them at run-time. For example, an application can choose whether QString is implemented as a Python type, or is automatically converted to and from a Python v2 unicode object or a Python v3 string object.
This ability allows developers to decide how to manage the transition from an older deprecated, API to a newer incompatible API.
Each API that can be selected in this way has a name and a range of version numbers. An application calls sip.setapi() to set the version number of a particular API. This call must be made before any module that implements the API is imported. Once set the version number cannot be changed. If not set then an API will use its default version.
For example the following code will disable the use of QString:

 import sip
sip.setapi('QString', 2)
from PyQt4 import QtCore
# This will raise an attribute exception because QString is only wrapped
# in version 1 of the API.
s = QtCore.QString()

 The following APIs are currently implemented:
    QDate v1, v2
    QDateTime v1, v2
    QString v1, v2
    QTextStream v1, v2
    QTime v1, v2
    QUrl v1, v2
    QVariant v1, v2

Если переключаю на первую версию API QString работает.
Можете у себя выполнить код, для проверки какая версия апи выполняется у Вас?
 import sip
test = sip.getapi('QString')
print(test)
vic57
MrViktor
Проблема в том, что QString уже нет
таки да
я смотрю QList,QVector тоже убрали
FishHook
MrViktor
Сами ее читали? интересует в плане полезности как она?
Не читал, не вижу области применения PyQt
MrViktor
FishHook
не вижу области применения PyQt
А GUI на чем строите?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB