![]() |
|
|
![]()
|
|
| Brodyaga |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 599 Регистрация: 19.1.2008 Репутация: нет Всего: 2 |
Всем привет!
Помоему уже гдето обсуждалось.. Нужно сделать чтобы QMainWindow вызывался как модальная форма и метод show задерживал поток подобно методу exec, как это сделать? P.S. mainWindow->setWindowModality(Qt::WindowModal); mainWindow->setWindowFlags(Qt::Dialog); не помогают... |
|||
|
||||
| chaos |
|
|||
![]() Серийный программист ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2979 Регистрация: 7.7.2004 Где: Екатеринбург Репутация: 5 Всего: 44 |
а можно узнат ьчто вы пытаетесь сделать?!
|
|||
|
||||
| Brodyaga |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 599 Регистрация: 19.1.2008 Репутация: нет Всего: 2 |
Модальный QMainWindow |
|||
|
||||
| SABROG |
|
||||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 81 Всего: 91 |
А как главное окно программы может вообще быть модальным? Это бы запретило вообще переключение между окнами на рабочем столе или на другую открытую программу... |
||||
|
|||||
| Brodyaga |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 599 Регистрация: 19.1.2008 Репутация: нет Всего: 2 |
У меня это не главное окно программы. Сначала это было окно появляющееся в Mdi области, теперь понадобилось переделать его в обычное модальное окно. Но на самом деле у меня таких окон много, поэтому чтобы не переделывать наследование на QDialog хочу сделать QMainWindow модальным. |
|||
|
||||
| SABROG |
|
|||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 81 Всего: 91 |
А флаги ставил с учетом этого комментария?
|
|||
|
||||
| chaos |
|
|||
![]() Серийный программист ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2979 Регистрация: 7.7.2004 Где: Екатеринбург Репутация: 5 Всего: 44 |
||||
|
||||
| Brodyaga |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 599 Регистрация: 19.1.2008 Репутация: нет Всего: 2 |
Создал окно, поставил флаги, а затем вызвал show. Тоесть в момент постановки флагов, окно не было показано на экране. Это сообщение отредактировал(а) Brodyaga - 3.11.2010, 18:20 |
|||
|
||||
| Brodyaga |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 599 Регистрация: 19.1.2008 Репутация: нет Всего: 2 |
||||
|
||||
| SABROG |
|
|||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 81 Всего: 91 |
Настолько насколько он тебя устраивает по функциональности и топорности решения. Правильно это действительно реализовывать через QEventLoop. Проблема лишь в определении времени когда нужно выходить из модальности, по закрытию окна или по скрытию или в обоих случаях. Я такой вариант сделал:
Конечно длинный, но не "насильный" while. |
|||
|
||||
| Brodyaga |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 599 Регистрация: 19.1.2008 Репутация: нет Всего: 2 |
Спасибо за вариант, но у меня проект пока на 4.4.3, так что QStateMachine нету.
Так что буду пока использовать найденное мной решение с QApplication::processEvents(). Всем спасибо! Тема закрыта. |
|||
|
||||
| SABROG |
|
|||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 81 Всего: 91 |
||||
|
||||
![]()
|
| Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |