[Python] - QMessageBox.exec() - SyntaxError
От: theTosh Россия  
Дата: 07.07.09 19:25
Оценка:
В Qt Assistant читаю:
QMessageBox msgBox
msgBox.setText("The document has been modified.")
msgBox.setInformativeText("Do you want to save your changes?")
msgBox.setStandardButtons(QMessageBox::Save|QMEssageBox::Discard|QMessageBox::Cancel)
msgBox.setDefaultButton(QMessageBox.Save)
int ret=msgBox.exec()

На питоне пишу аналогично:
mb=QMessageBox()
mb.setText(u'The document has been modified.')
mb.setInformativeText(u'Do you want to save your changes?')
mb.setStandardButtons(QMessageBox.Save|QMEssageBox.Discard|QMessageBox.Cancel)
mb.setDefaultButton(QMessageBox.Save)
answ=mb.exec()

И на последней строке получаю:
answ=mb.exec()
           ^
SyntaxError: invalid syntax

Что я делаю не так?
/Best regards,
Anton V. Deinow
Re: надо .exec_() // [Python] - QMessageBox.exec() - SyntaxE
От: ilya.buchkin США http://engineering.meta-comm.com/
Дата: 07.07.09 19:32
Оценка:
Здравствуйте, theTosh, Вы писали:

T>И на последней строке получаю:

T>
T>answ=mb.exec()
T>           ^
T>SyntaxError: invalid syntax
T>


напиши answ=mb.exec_()
--
Ilya Buchkin
MetaCommunications Engineering, Iowa City — Санкт-Петербург
Re[2]: надо .exec_() // [Python] - QMessageBox.exec() - Synt
От: theTosh Россия  
Дата: 07.07.09 20:05
Оценка:
Здравствуйте, ilya.buchkin, Вы писали:

T>>И на последней строке получаю:

T>>
T>>answ=mb.exec()
T>>           ^
T>>SyntaxError: invalid syntax
T>>


IB>напиши answ=mb.exec_()


Спасибо. Так работает.
Это в документации ошибка или что это было?
/Best regards,
Anton V. Deinow
Re[3]: надо .exec_() // [Python] - QMessageBox.exec() - Synt
От: ilya.buchkin США http://engineering.meta-comm.com/
Дата: 07.07.09 21:11
Оценка:
Здравствуйте, theTosh, Вы писали:
IB>>напиши answ=mb.exec_()
T>Спасибо. Так работает.
T>Это в документации ошибка или что это было?

в Python-е "exec" — задействованное слово, им пришлось сделать "exec_".
а документация для C++, питоновский диалект Qt не покрывает — так что будь бдителен
--
Ilya Buchkin
MetaCommunications Engineering, Iowa City — Санкт-Петербург
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.