Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
|
Litkevich Yuriy |
24.2.2010, 14:40
Сообщение
#1
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94
|
Переделал пример MDI, под свои нужды, в качестве дочернего окна используется наследник QWidget.
Всю голову себе сломал, как заставить дочернее окна принять нужный размер. Например классическая установка: не меняет ни чего, дочернее окна всегда создаётся с минимально возможным (определяемым содержимым) размером.Проверял на Qt 4.4.3 и Qt 4.6.0 (MinGW) |
|
|
|
|
DEADHUNT |
24.2.2010, 14:44
Сообщение
#2
|
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 430 Регистрация: 15.4.2009 Пользователь №: 686 Спасибо сказали: 26 раз(а) Репутация: 2
|
QMdiSubWindow::resize не пробовал?
|
|
|
|
|
Litkevich Yuriy |
24.2.2010, 15:08
Сообщение
#3
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94
|
Цитата(DEADHUNT @ 24.2.2010, 17:44) Link QMdiSubWindow::resize не пробовал? неа, не пробовал, сейчас попробуюХм, у этого класса нет такого метода (не переопределён из QWidget) Да и потом, я располагаю указателем на окно (QWidget), и искать его через mdiArea->subWindowList() и т.д. по моему, не самый удачный вариант. |
|
|
|
|
DEADHUNT |
24.2.2010, 16:05
Сообщение
#4
|
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 430 Регистрация: 15.4.2009 Пользователь №: 686 Спасибо сказали: 26 раз(а) Репутация: 2
|
а как же у тебя окна добавляются? надо создать QMdiSubWindow, потом установить widget через setWidget. можно виджет создать над этим QMdiSubWindow и получать к нему доступ через QWidget::parent().
Сообщение отредактировал DEADHUNT - 24.2.2010, 16:06 |
|
|
|
|
Litkevich Yuriy |
24.2.2010, 16:26
Сообщение
#5
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94
|
Цитата(DEADHUNT @ 24.2.2010, 19:05) Link а как же у тебя окна добавляются? надо создать QMdiSubWindow, потом установить widget через setWidget. Это не у меня это у тролей. Смотри функцию void MainWindow::open() в примере %QTDIR%\examples\mainwindows\mdi\mainwindow.cppТам в функции MdiChild *MainWindow::createMdiChild() так добавляется в MDI-область:
|
|
|
|
|
Litkevich Yuriy |
24.2.2010, 16:57
Сообщение
#6
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94
|
Нашёл такой выход из положения:
в функции MdiChild *MainWindow::createMdiChild() для QMdiSubWindow делаю ресайз: Всё таки странно это всё как-то работает. У меня у виджета и sizeHint был переопределён и minmumSizeHint, никак не помогает.
|
|
|
|
![]() ![]() ![]() |
|
Текстовая версия | Сейчас: 22.12.2025, 19:34 |