Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » GUI
  • » Различный результат скрипта в linux и windows [RSS Feed]

#1 Фев. 22, 2010 21:21:58

g-kit
От:
Зарегистрирован: 2009-11-16
Сообщения: 41
Репутация: +  0  -
Профиль   Отправить e-mail  

Различный результат скрипта в linux и windows

привет,

имеется код который успешно генерит таблицу в линуксе (там же и писался). Решил поробовать под виндой: скрипт спотыкается на таком куске кода:

def headerData(self, section, orientation, role=QtCore.Qt.DisplayRole):
if role != QtCore.Qt.DisplayRole:
return QtCore.QVariant()
if orientation == QtCore.Qt.Horizontal:
if section == NAME:
return QtCore.QVariant(“Name”)
elif section == OWNER:
return QtCore.QVariant(“Owner”)
elif section == COUNTRY:
return QtCore.QVariant(“Country”)
elif section == DESCRIPTION:
return QtCore.QVariant(“Description”)
elif section == TEU:
return QtCore.QVariant(“TEU”)
return QtCore.QVariant(int(section + 1))

и “сыпет” такими коментами (в основном ругаясь на вторую строку, но периодически на все остальные, с началом “return”):

TypeError: PyQt4.QtCore.Qvariant represents a mapped type and cannot be instantiated

пробовал на разных машинах - результат тот же: на линухе все ок, на винде - проблемс. Различия в версиях: на линухе 4.5, в винде - 4.7.1

может к винде код нужно подготовить как-то?

google не помог… :(

спасибо,
-вадим



Офлайн

#2 Фев. 23, 2010 21:39:18

poltergeist
От:
Зарегистрирован: 2007-02-28
Сообщения: 522
Репутация: +  0  -
Профиль   Отправить e-mail  

Различный результат скрипта в linux и windows

У вас используется разная версия API для класса QVariant. Вот: http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/pyqt4ref.html#id11
Как менять версию API читайте тут: http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/pyqt4ref.html#selecting-incompatible-apis

Выберите одно из двух, если не планируете использовать PyQt4 ниже версии 4.5, то юзайте вторую версию API для класса QVariant. В этом случае вы не создаёте QVariant явно, а просто передаёте питоновские типы данных. Т.е. вместо return QVariant('Name') вы делаете просто return ‘Name’.



Офлайн

  • Начало
  • » GUI
  • » Различный результат скрипта в linux и windows[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version