Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > C++ > Qt и кроссплатформенное программирование С/С++
Регистрация

Восстановить пароль
Повторная активизация e-mail


Ответ
 
Опции темы
Старый 18.09.2017, 10:31   #1
zvb
Пользователь
 
Регистрация: 17.07.2017
Сообщений: 10
Репутация: 10
По умолчанию Странное поведение QDialog

Есть приложение на Qt под Centos7 - платёжный терминал.
Для MainWindow (наследник от QMainWindow) запускаю showFullScreen() - его задача закрыть собой рабочий стол и панели сверху и снизу (то, что в винде называется Панелью задач) если вдруг разрешение монитора будет больше чем сейчас. Из него запускаю мой QDialog на котором расположена вся полезная часть программы - кнопки итд.
Разрешение монитора 1366х768. Размер диалогового окна такой-же 1366х768. При этом панели оказываются видны. Если уменьшаю размер диалога по горизонтали, то всё становится как задумано - MainWindow закрывает собой панели. Критическое значение для диалогового окна 1092х768. Если делаю ширину больше 1092, то панели вылазят.
В чём причина?
zvb вне форума   Ответить с цитированием
Старый 18.09.2017, 11:15   #2
zvb
Пользователь
 
Регистрация: 17.07.2017
Сообщений: 10
Репутация: 10
По умолчанию

Забыл упомянуть - ставлю своему диалогу Qt::FramelessWindowHint. Сейчас попробовал убрать - MainWindow стало закрывать панели. Но мне надо, чтобы диалоговое окно было без заголовка.
zvb вне форума   Ответить с цитированием
Старый 18.09.2017, 12:02   #3
zvb
Пользователь
 
Регистрация: 17.07.2017
Сообщений: 10
Репутация: 10
По умолчанию

Заметил ещё две особенности - диалоговое окно таки по вертикали показывалось не всё - сверху и снизу там где панели всё-равно оставалось MainWindow (просто у него и у диалога был фон одного цвета, сейчас поменял для тестирования). Но это пожалуй допустимо, по высоте диалог могу немного уменьшить, главное, чтобы панели не были видны.
Второе - если диалоговое окно закрыть, то панели исчезают, т.е. их теперь закрывает MainWindow.

Итого можно сформулировать вопрос так - как развернуть диалоговое окно с Qt::FramelessWindowHint на весь экран, так чтобы оно закрыло панели?
Вот картинка, чтобы понятно о каких панелях идёт речь:
Изображения
Тип файла: jpg 1.jpg (21.7 Кб, 2 просмотров)
zvb вне форума   Ответить с цитированием
Старый 20.09.2017, 08:10   #4
Black Fregat
Программист
Профессионал
 
Аватар для Black Fregat
 
Регистрация: 23.06.2009
Сообщений: 1,021
Репутация: 675
По умолчанию

Мы на всякий случай запускали в отдельном Х, примерно так:
Код:

xinit /home/worker/Launcher 2>> /home/worker/error.log -- :1&

Очень хорошо запускается, и никаких панелей
Black Fregat вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
странное поведение clientdataset DmitryVisuals БД в Delphi 2 16.06.2013 20:48
Странное поведение realloc eraserhp Общие вопросы C/C++ 7 17.05.2010 09:52
Странное поведение gets alex_alpha Общие вопросы C/C++ 3 27.03.2010 19:21
Странное поведение null Vitalyk JavaScript, Ajax 6 13.02.2010 16:22


04:23.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru