Russian Qt Forum
Ноябрь 26, 2024, 21:45
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Пользовательский интерфейс (GUI)
>
showMaximized не отрабатывает
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: showMaximized не отрабатывает (Прочитано 9192 раз)
kurbigor
Гость
showMaximized не отрабатывает
«
:
Декабрь 11, 2007, 12:32 »
Есть такая ОС: МСВС (по сути -тот же Linux). Метод showMaximized для основного окна приложения не отрабатывает. Прочел, что в некоторых системах это действительно бывает, и надо как-то выкручиваться.
Никто не знает ссылку, где об этом можно прочесть подробней? (лучше на русском
).
Записан
Emc
Гость
Re: showMaximized не отрабатывает
«
Ответ #1 :
Декабрь 11, 2007, 13:50 »
вариант номер 1: при закрытие программы сохраняешь размер - QMainWindow::saveState
при открытие устанавливаешь - QMainWindow::restoreState ну и двигать в левый угол
Записан
kurbigor
Гость
Re: showMaximized не отрабатывает
«
Ответ #2 :
Декабрь 12, 2007, 10:24 »
to Emc
Т.е. ты предлагаешь открыть, закрыть и снова открыть?
Записан
Emc
Гость
Re: showMaximized не отрабатывает
«
Ответ #3 :
Декабрь 12, 2007, 11:01 »
я так понимаю кнопка развернуть окно все таки работает, поэтому проблема только при запуске программы
и предлагаю сохранять состояние окна в момент закрытия программы и восстанавливать при запуске.
Сохранять можно в файл через QSettings хотя ты можешь зашить byteArray в код программы, но тогда корректно будет работать только на твоем компе
Записан
kurbigor
Гость
Re: showMaximized не отрабатывает
«
Ответ #4 :
Декабрь 12, 2007, 11:55 »
Да, кнопка развернуть окно работает. После запуска, если по ней щелкнуть, окно "доразворачивается" полностью (а так оно "недовернуто" слегка). Как бы этот дополнительный щёлк сделать программным образом, чтобы не заставлять делать это пользователя вручную?
Читал где-то, что надо открыть, запомнить координаты и ещё раз открыть, но где бы об этом подробнее прочесть? А восстанавливать состояние окна в момент закрытия программы не совсем годится, т.к. при следующем запуске оно может быть несколько другим в зависимости от предыдущего сеанса работы.
Записан
Alex03
Гость
Re: showMaximized не отрабатывает
«
Ответ #5 :
Декабрь 12, 2007, 12:59 »
Ещё как вариант - окно совсем без обрамления в координаты 0,0 и размером с десктоп.
PS А что там за WindowManager? Он там один единственный?
Записан
Вячеслав
Гость
Re: showMaximized не отрабатывает
«
Ответ #6 :
Декабрь 12, 2007, 13:03 »
Тама elk .....бнутый на голову
И к сожалению фиг помнеяешь на нормальный.....
По теме : А просто узнать размер десктопа и сказать resize и move(0,0) ?
Записан
Alex03
Гость
Re: showMaximized не отрабатывает
«
Ответ #7 :
Декабрь 12, 2007, 17:03 »
kurbigor
попробуй вызвать showMaximized по какомунить событию (типа пункта в меню).
Если будет нормально, то могу ещё предложить извращённый способ - вызывать его через Х мс после отображения (Х=500мс думаю достаточно почти всегда).
Записан
kurbigor
Гость
Re: showMaximized не отрабатывает
«
Ответ #8 :
Декабрь 13, 2007, 10:43 »
elk,elk... он самый... (или она?)
Спасибо. Проверил всё по вашим советам.
showMaximized, похоже, не работает в принципе. Т.е. он отрабатывает, но, видимо, так, как вы предлагаете: именно resize на весь экран (при этом нижняя часть залезает под полоску меню, в этом вся проблема, а кнопка "Развернуть окно" остаётся большим прямоугольником, т.е. окно как бы всё же не развёрнуто). Самое досадное, что если по кнопке щёлкнуть, окно разворачивается как надо. Я пытался как-то сымитировать этот щёлк программно, но не удалось. Может, кто занимался имитацией клика мышью по управляющим элементам окна, похоже, я точку не смог правильно вычислить.
Записан
Emc
Гость
Re: showMaximized не отрабатывает
«
Ответ #9 :
Декабрь 13, 2007, 11:25 »
управлением окна занимается elk а не qt -- так что сымитировать это не получиться
Записан
kurbigor
Гость
Re: showMaximized не отрабатывает
«
Ответ #10 :
Декабрь 13, 2007, 17:57 »
Что же получается?
Доктор сказал: "В морг" ?
Записан
Steven_Orko
Гость
Re: showMaximized не отрабатывает
«
Ответ #11 :
Декабрь 17, 2007, 10:50 »
Цитата: kurbigor от Декабрь 13, 2007, 17:57
Что же получается?
Доктор сказал: "В морг" ?
Можно попробовать еще один разряд )))
Сделай вот что.
Узнай у корневого окна свойство _NET_WORKAREA (Возможно, я ошибаюсь с его написанием, но звучит примерно так).
В этом свойстве записана, как ты уже догадываешься, рабочая область, без панели ELK. Узнаешь ее и resize свое окно до таких размеров. Там уже посмотри, куда его лучше подвинуть, чтобы правдоподобно было.
Насчет свойств и атрибутов окон читай мой пост в другой ветке или X Window System Reference.
Записан
remach
Гость
Re: showMaximized не отрабатывает
«
Ответ #12 :
Март 11, 2008, 10:38 »
Скорее это проблема QT 3.3. В моих приложениях под Win32 showMaximized ведет себя также, как и под elk. Если смотреть примеры, там тоже нет ни одного приложения, с нормальным открыванием во весь экран. Даже дизайнер открывается не в режиме Maximized.
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...