![]() |
|
|
![]()
|
|
| loneybibi |
|
|||
|
Любитель ![]() ![]() Профиль Группа: Участник Сообщений: 257 Регистрация: 28.5.2010 Где: Донецк (Украина) Репутация: 3 Всего: 3 |
Пытаюсь сделать что бы модальное окно на основе QMainWindow появлялось по центру "родительского" окна. Почему то не получается. Первое окно появляется по центру экрана нормально, а вот второе никак не хочет. Подскажите пожалуйста что не так.
Это сообщение отредактировал(а) loneybibi - 28.6.2011, 16:53 -------------------- Red Hat Fedora 17 Qt 4.8.1 (x64), GCC 4.4.3, G++ 4.4.3, QtCreator 2.4.1 |
|||
|
||||
| borisbn |
|
||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 48 Всего: 135 |
попробуй перед этой строчкой
а можно и сразу после
вызвать
-------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
||||||
|
|||||||
| loneybibi |
|
||||||||
|
Любитель ![]() ![]() Профиль Группа: Участник Сообщений: 257 Регистрация: 28.5.2010 Где: Донецк (Украина) Репутация: 3 Всего: 3 |
Это не помогает.. :( Нашел почему происходит это. Если установить минимальный размер QFrame::setMinimumSize() (или просто в дизайнере), или оставить минимальный размер равный нулям но при активной политике size - Minimun, именно фрейма а не окна в котором он, то и происходят эти чудеса с центрированием окна. Вылечить это можно если до получения геометрии в переменную QRect() явно указать минимальные размеры именно самого окна childModalWindow->setMinimumSize(x,y). Отсюда другой вопрос, раз такое дело, у childModalWindow стоит политика размеров окна по вертикали Minimum; Как узнать какой размер окна будет при появлении что бы его задать как Y для setMinimumSize(x,y) ??? Ниже тестовый проект, с "конструкцией" этих окон как у меня. Это сообщение отредактировал(а) loneybibi - 29.6.2011, 10:58 Присоединённый файл ( Кол-во скачиваний: 1 )
Projects.zip 7,07 Kb-------------------- Red Hat Fedora 17 Qt 4.8.1 (x64), GCC 4.4.3, G++ 4.4.3, QtCreator 2.4.1 |
||||||||
|
|||||||||
| voral |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 158 Регистрация: 16.3.2008 Где: Иваново Репутация: нет Всего: нет |
После того как все компоненты поместили на окно вызывайте метод adjastSize(). После этого размеры получаете cоответствующими методами (например size() ) Добавлено через 1 минуту и 26 секунд возможно, после метода adjastSize() даже не придется использовать setMinimumSize(...) |
|||
|
||||
| loneybibi |
|
|||
|
Любитель ![]() ![]() Профиль Группа: Участник Сообщений: 257 Регистрация: 28.5.2010 Где: Донецк (Украина) Репутация: 3 Всего: 3 |
Извиняюсь что так долго не отвечал ! Работа .. занят был -------------------- Red Hat Fedora 17 Qt 4.8.1 (x64), GCC 4.4.3, G++ 4.4.3, QtCreator 2.4.1 |
|||
|
||||
![]()
|
| Правила форума "С/С++: Кроссплатформенное программирование, 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. |