Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 26, 2008 04:56:21

samyray
От:
Зарегистрирован: 2008-09-27
Сообщения: 15
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема с PyQt4

Добрый день/ночь!
Есть такой код:
for i in range(59):
self.comboBox_6.addItem(QtGui.QApplication.translate(“MainWindow”,“%s”, None, QtGui.QApplication.UnicodeUTF8) % QtCore.QString(i) )

Но питон выдает такую ошибку:
unhandled TypeError
“unsupported operand type(s) for %: ‘QString’ and ‘QString’”

Никто не подскажет как это можно решить?



Отредактировано (Ноя. 26, 2008 04:56:46)

Офлайн

#2 Ноя. 26, 2008 05:45:54

gmorgunov
От:
Зарегистрирован: 2008-10-15
Сообщения: 137
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема с PyQt4

Привет.
Более/менее подробно эта тема( translate()) обсуждалась тут: http://python.su/forum/viewtopic.php?id=3054.

А так,мой перевод звучит так:
“ Нерукотворная ошибка( не ваша ) :)
типы операндов(QString) не поддерживаются питоновским форматированием (%)”.



Офлайн

#3 Ноя. 26, 2008 10:15:27

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

Проблема с PyQt4

:-D QtGui.QApplication.translate(“MainWindow”,“%s”, None, QtGui.QApplication.UnicodeUTF8) % QtCore.QString(i) - тут вы пытаетесь взять остаток от деления двух операндов типа QString. Откуда такая ересь?

Попробуйте так:
self.comboBox_6.addItem(QtGui.QApplication.translate(“MainWindow”, str(i), None, QtGui.QApplication.UnicodeUTF8))
или совсем просто:
self.comboBox_6.addItems(map(str, range(59)))



Офлайн

#4 Ноя. 28, 2008 15:46:53

samyray
От:
Зарегистрирован: 2008-09-27
Сообщения: 15
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема с PyQt4

Большое спасибо…эту проблему решил
И если вам не сложно,вы б не могли объяснить как работает подобная конструкция:
self.comboBox_6.addItems(map(str, range(59)))
?



Офлайн

#5 Ноя. 28, 2008 15:56:59

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

Проблема с PyQt4

self.comboBox_6.addItems - принимает в качестве параметров список строк, например:

 self.comboBox_6.addItems(['0', '1', '2'])
range(3) == - список чисел
map(str, ) == - конвертирование из чисел в строки с помощью функции str



Офлайн

#6 Ноя. 28, 2008 18:27:25

samyray
От:
Зарегистрирован: 2008-09-27
Сообщения: 15
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема с PyQt4

Понял,Спасибо



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version