Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Qt, странное поведение QDialog / 7 сообщений из 7, страница 1 из 1
18.09.2017, 09:08
    #39522577
zvb73
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Qt, странное поведение QDialog
Есть приложение на Qt под Centos7 - платёжный терминал.
Для MainWindow (наследник от QMainWindow) запускаю showFullScreen() - его задача закрыть собой рабочий стол и панели сверху и снизу (то, что в винде называется Панелью задач) если вдруг разрешение монитора будет больше чем сейчас. Из него запускаю мой QDialog на котором расположена вся полезная часть программы - кнопки итд.
Разрешение монитора 1366х768. Размер диалогового окна такой-же 1366х768. При этом панели оказываются видны. Если уменьшаю размер диалога по горизонтали, то всё становится как задумано - MainWindow закрывает собой панели. Критическое значение для диалогового окна 1092х768. Если делаю ширину больше 1092, то панели вылазят.
В чём причина?
...
Рейтинг: 0 / 0
18.09.2017, 10:14
    #39522613
zvb73
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Qt, странное поведение QDialog
Забыл упомянуть - ставлю своему диалогу Qt::FramelessWindowHint. Сейчас попробовал убрать - MainWindow стало закрывать панели. Но мне надо, чтобы диалоговое окно было без заголовка.
...
Рейтинг: 0 / 0
18.09.2017, 11:01
    #39522635
zvb73
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Qt, странное поведение QDialog
Заметил ещё две особенности - диалоговое окно таки по вертикали показывалось не всё - сверху и снизу там где панели всё-равно оставалось MainWindow (просто у него и у диалога был фон одного цвета, сейчас поменял для тестирования). Но это пожалуй допустимо, по высоте диалог могу немного уменьшить, главное, чтобы панели не были видны.
Второе - если диалоговое окно закрыть, то панели исчезают, т.е. их теперь закрывает MainWindow.

Итого можно сформулировать вопрос так - как развернуть диалоговое окно с Qt::FramelessWindowHint на весь экран, так чтобы оно закрыло панели?
Вот картинка, чтобы понятно о каких панелях идёт речь:
...
Рейтинг: 0 / 0
18.09.2017, 17:10
    #39522863
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Qt, странное поведение QDialog
zvb73Итого можно сформулировать вопрос так - как развернуть диалоговое окно с Qt::FramelessWindowHint на весь экран, так чтобы оно закрыло панели?
http://doc.qt.io/qt-5/qwindow.html#showFullScreen
...
Рейтинг: 0 / 0
18.09.2017, 18:35
    #39522916
egorych
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Qt, странное поведение QDialog
zvb73,
а зачем нужен MainWindow, если вся полезная часть программы расположена в диалоге? или же, изменим вопрос, зачем нужен диалог, если есть уже MainWindow?
...
Рейтинг: 0 / 0
19.09.2017, 07:37
    #39523010
zvb73
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Qt, странное поведение QDialog
egorychzvb73,
а зачем нужен MainWindow, если вся полезная часть программы расположена в диалоге? или же, изменим вопрос, зачем нужен диалог, если есть уже MainWindow?
MainWindow - чтобы закрыть лишнюю часть экрана, если вдруг разрешение будет больше.
А диалоги - их уже много дизайнером нарисовано с кнопочками и прочей ерундой, планировалось что по действиям юзера будет выводится тот или иной диалог
...
Рейтинг: 0 / 0
19.09.2017, 12:05
    #39523204
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Qt, странное поведение QDialog
zvb73Итого можно сформулировать вопрос так - как развернуть диалоговое окно с Qt::FramelessWindowHint на весь экран, так чтобы оно закрыло панели?


xyproblem...

Может быть тебе просто запускать твоё приложение в X-ах ВМЕСТО стандартного оконного менеджера?
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Qt, странное поведение QDialog / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]