|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
11.02.2013, 15:31 | #1 |
Пользователь
Регистрация: 05.12.2012
Сообщений: 67
|
MDI в QtCreator
Всем доброго времени суток.
Вот стал развлекаться с MDI-приложением. Всё сделал и окошки открываются/закрываются... Одна беда - окошки могут перетаскиваться за границы видимой области QMdiArea (растягиваться). Есть идеи как запретить перетаскивание за границы? Ставил окнам setFixedSize - помогает только в сторону уменьшения (нельзя сделать окно меньше FixedSize), а вот увеличить (растянуть) можно. |
11.02.2013, 23:14 | #2 |
Старожил
Регистрация: 02.01.2011
Сообщений: 3,323
|
Прикрепил пример с MDI из книги "Foundations of Qt Development"
Lasor, прикрепите файлы проекта |
12.02.2013, 12:56 | #3 | |
Пользователь
Регистрация: 05.12.2012
Сообщений: 67
|
Цитата:
Я же пытаюсь сделать рабочую область, используя компонент QMdiArea. Суть вопроса в следующем: как запретить вытаскивать окна за рабочую область? Это реализовано по-умолчанию в QWorkspace. |
|
22.05.2013, 11:51 | #4 |
Пользователь
Регистрация: 05.12.2012
Сообщений: 67
|
Может быть, кто-нибудь знает, как найти нужное окно в QMdiArea? То есть, я создал некоторое количество окон, которые создавал так:
Код:
Пробовал static/dynamic_cast. Не помогает... ( |
23.05.2013, 09:15 | #5 |
Пользователь
Регистрация: 05.12.2012
Сообщений: 67
|
Решено.
Нашёл интересный способ поиска нужного окна в QMdiArea. Суть такова: Код:
|
03.06.2013, 13:11 | #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 |