![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 05.12.2012
Сообщений: 67
|
![]()
Всем доброго времени суток.
Вот стал развлекаться с MDI-приложением. Всё сделал и окошки открываются/закрываются... Одна беда - окошки могут перетаскиваться за границы видимой области QMdiArea (растягиваться). Есть идеи как запретить перетаскивание за границы? Ставил окнам setFixedSize - помогает только в сторону уменьшения (нельзя сделать окно меньше FixedSize), а вот увеличить (растянуть) можно. |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 02.01.2011
Сообщений: 3,328
|
![]()
Прикрепил пример с MDI из книги "Foundations of Qt Development"
Lasor, прикрепите файлы проекта |
![]() |
![]() |
![]() |
#3 | |
Пользователь
Регистрация: 05.12.2012
Сообщений: 67
|
![]() Цитата:
Я же пытаюсь сделать рабочую область, используя компонент QMdiArea. Суть вопроса в следующем: как запретить вытаскивать окна за рабочую область? Это реализовано по-умолчанию в QWorkspace. |
|
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 05.12.2012
Сообщений: 67
|
![]()
Может быть, кто-нибудь знает, как найти нужное окно в QMdiArea? То есть, я создал некоторое количество окон, которые создавал так:
Код:
Пробовал static/dynamic_cast. Не помогает... ( |
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 05.12.2012
Сообщений: 67
|
![]()
Решено.
Нашёл интересный способ поиска нужного окна в QMdiArea. Суть такова: Код:
|
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 05.12.2012
Сообщений: 67
|
![]()
Недавно столкнулся ещё с одной проблемой в использовании QMdiArea: не могу понять, как ловить событие деактивации одного и активации другого окна.
То есть я хочу, чтобы в моём многооконном приложении пользователь не мог сменить фокус с окна до тех пор, пока не закончит с ним работу. Окна в QMdiArea хранятся в контейнере SubWindowList() и они все одного типа: QMdiSubWindow, у которого нет метода или сигнала, свидетельствуеющего об активации/деактивации окна. Я нашёл только один сигнал в самом QMdiArea - subWindowActivated(QMdiSubWindow*). Но его обработка у меня получается рекурсивной ( Может кто сталкивался с подобной задачкой? |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Сборка Qt (QtCreator + MinGW) | stas135642 | Qt и кроссплатформенное программирование С/С++ | 1 | 08.01.2013 17:35 |
Не могу правльно написать програму на C++ в Qtcreator | Renford | Помощь студентам | 2 | 20.10.2012 15:43 |
3 програмы на C++ в Qtcreator | Renford | Помощь студентам | 2 | 15.10.2012 14:03 |
Ощибка создания MDI формы. Cannot create form. No MDI forms are currently active | LISTAT | Общие вопросы Delphi | 1 | 26.05.2012 21:06 |
Передача параметра с MDI родителя в MDI child через DLL | ByXalkin | Общие вопросы Delphi | 0 | 15.12.2009 17:21 |