Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
|
porex |
15.12.2011, 14:21
Сообщение
#1
|
|
Студент ![]() Группа: Участник Сообщений: 10 Регистрация: 15.12.2011 Пользователь №: 3071 Спасибо сказали: 0 раз(а) Репутация: 0
|
Доброго времени суток!
Есть проект с несколькими формами, иерархия такая: Цитата MainWindow (QWidget) >>>| >>>|----ConfigForm(QWidget) >>>>>>>>| >>>>>>>>|----PatternDialog(QDialog) Первая форма создается и разворачивается на весь экран: Вторая форма создается динамически по нажатию на кнопку: А PatternDialog так: Так вот если при создании ConfigForm в качестве родителя указать MainWindow, то форма не разворачивается на весь экран, а если передать NULL, то ConfigForm разворачивается на весь экран, но при создании PatternDialog на передний план вылазит MainWindow. Как с этим бороться? Да, забыл, пишу под Ubuntu. Сообщение отредактировал porex - 17.12.2011, 16:21
Прикрепленные файлы
|
|
|
|
|
ilyabvt |
15.12.2011, 17:58
Сообщение
#2
|
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 297 Регистрация: 23.6.2011 Пользователь №: 2765 Спасибо сказали: 45 раз(а) Репутация: 3
|
Естественно, ведь при активации PatternDialog активируется и его родитель т.е. MainWindow. Можно например сразу после активации PatternDialog активировать объект ConfigForm. Или вообще не активировать PatternDialog. Или создавать его без родителя.
|
|
|
|
|
BlueIceScream |
15.12.2011, 18:16
Сообщение
#3
|
![]() Студент ![]() Группа: Участник Сообщений: 56 Регистрация: 21.11.2011 Из: Республика Дагестан Пользователь №: 3016 Спасибо сказали: 18 раз(а) Репутация: 3
|
Cделай всех сиротами.
|
|
|
|
| Гость_Гость_* |
15.12.2011, 18:29
Сообщение
#4
|
|
Гости |
Цитата(ilyabvt @ 15.12.2011, 17:58) Link Естественно, ведь при активации PatternDialog активируется и его родитель т.е. MainWindow. Можно например сразу после активации PatternDialog активировать объект ConfigForm. Или вообще не активировать PatternDialog. Или создавать его без родителя. Как раз когда активируется MainWindow, у PatternDialog родитель ConfigForm без родителя. Необходимо чтобы MainWindow разворачивалась на весь экран, ConfigForm разворачивалась навесь экран(есть родитель или нет все равно), а PatternDialog был модальным со своим размером. |
|
|
|
|
porex |
15.12.2011, 18:30
Сообщение
#5
|
|
Студент ![]() Группа: Участник Сообщений: 10 Регистрация: 15.12.2011 Пользователь №: 3071 Спасибо сказали: 0 раз(а) Репутация: 0
|
блин, от гостя написал
|
|
|
|
|
ilyabvt |
15.12.2011, 21:47
Сообщение
#6
|
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 297 Регистрация: 23.6.2011 Пользователь №: 2765 Спасибо сказали: 45 раз(а) Репутация: 3
|
Цитата ConfigForm разворачивалась навесь экран(есть родитель или нет все равно) Для этого ему надо поставить флаг Qt::Window. А в остальном по вашему описанию все и так есть, MainWindow и ConfogForm разворачиваются на весь экран. Четче опишите в чем именно проблема. |
|
|
|
|
porex |
15.12.2011, 21:55
Сообщение
#7
|
|
Студент ![]() Группа: Участник Сообщений: 10 Регистрация: 15.12.2011 Пользователь №: 3071 Спасибо сказали: 0 раз(а) Репутация: 0
|
Цитата(ilyabvt @ 15.12.2011, 22:47) Link Цитата ConfigForm разворачивалась навесь экран(есть родитель или нет все равно) Четче опишите в чем именно проблема. Проблема в следующем: 1. Если при создании формы ConfigForm указать родителем MainWindow, то ConfigForm не разворачиватся на весь экран; 2. Если создать форму ConfigForm без родителя, то она разворачивается на весь экран, но при создании и отображении PatternDialog, на передний план вылазит MainWindow, хотя должна быть сзади. В первом посте вложение, попробуйте у себя. |
|
|
|
|
porex |
16.12.2011, 13:11
Сообщение
#8
|
|
Студент ![]() Группа: Участник Сообщений: 10 Регистрация: 15.12.2011 Пользователь №: 3071 Спасибо сказали: 0 раз(а) Репутация: 0
|
Цитата(BlueIceScream @ 15.12.2011, 19:16) Link Cделай всех сиротами. Тогда PatternDialog не будет модальным |
|
|
|
|
BlueIceScream |
16.12.2011, 15:50
Сообщение
#9
|
![]() Студент ![]() Группа: Участник Сообщений: 56 Регистрация: 21.11.2011 Из: Республика Дагестан Пользователь №: 3016 Спасибо сказали: 18 раз(а) Репутация: 3
|
|
|
|
|
|
porex |
16.12.2011, 20:02
Сообщение
#10
|
|
Студент ![]() Группа: Участник Сообщений: 10 Регистрация: 15.12.2011 Пользователь №: 3071 Спасибо сказали: 0 раз(а) Репутация: 0
|
Спасибо, помогло, PatternDialog модальное, только теперь другая напасть. Если попытаться убрать заголовок окна
То все контролы окна PatternDialog отображаются в ConfigForm (PatternDialog как бы становится прозрачным). Почему так? Это особенность менеджера окон в Linux'e? Сообщение отредактировал porex - 17.12.2011, 16:04 |
|
|
|
![]() ![]() ![]() |
|
Текстовая версия | Сейчас: 25.12.2025, 17:27 |