Russian Qt Forum
Сентябрь 30, 2024, 20:23 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: [Решено] Вызов окна из функции. Нужно, чтобы функция ждала закрытия окна.  (Прочитано 5991 раз)
Пытон
Гость
« : Январь 06, 2012, 14:53 »

Код
Python
def myfunc():
   MyDialog.show()
   return
 

Окно MyDialog открывается, но функция не ждёт его закрытия и сразу переходит к оператору return. Окно MyDialog создано как диалог: MyDialog = QtGui.Qdialog(MyParentForm). Флаг модальности установлен: MyDialog.setWindowModality(1)

Как заставить функцию дождаться закрытия диалогового окна? Мне нужно заполучить данные о нажатиях на клавиши в диалоговом окне прежде чем выйти из этой функции.
« Последнее редактирование: Январь 08, 2012, 18:42 от Пытон » Записан
BRE
Гость
« Ответ #1 : Январь 06, 2012, 14:55 »

MyDialog.exec()?
Записан
Пытон
Гость
« Ответ #2 : Январь 06, 2012, 15:19 »

Вы - гений!
П.С. Почему в моём учебнике ни разу не упоминается этот exec, спрашивается???
П.П.С. Спасибо.
Записан
iroln
Гость
« Ответ #3 : Январь 06, 2012, 16:53 »

Только
Код
Python
MyDialog.exec_()
Запускает цикл сообщений окна. В учебнике должно быть про это написано, как же без этого то?
Записан
Пытон
Гость
« Ответ #4 : Январь 06, 2012, 17:47 »

А я использовал exec без символа подчёркивания и всё работает. exec и exec_ чем-то отличаются?
Записан
iroln
Гость
« Ответ #5 : Январь 06, 2012, 18:04 »

Хм...
Просто дело в том, что exec() - это функция стандартной библиотеки (ссылка). В питоне вроде как раньше нельзя было называть методы классов так же как функции стандартной библиотеки. Поэтому в PyQt4 и PySide exec() заменён на exec_(). Как вы могли использовать exec() в питоне не понятно.
Записан
Пытон
Гость
« Ответ #6 : Январь 08, 2012, 18:41 »

Может в третьем питоне какие-то изменения? На нём учусь писать.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.057 секунд. Запросов: 18.