Проблемы пользовательского интерфейса при изменении разрешения экрана

Я новичок в Qt, и у меня возникают проблемы, когда я меняю разрешение своего приложения. Я работаю со встроенным приложением, используя DirectFB.

Мой пользовательский интерфейс был разработан для разрешения 1280x720, и он отлично работает! При разрешении 1920x1080 пользовательский интерфейс невелик, но все же хорош. Основная проблема заключается в том, что когда разрешение изменяется на 720x576, пользовательский интерфейс действительно большой, и я не могу изменить размер объектов внутри виджета или вызвать функцию для адаптации пользовательского интерфейса.

Эти дополнительные параметры разрешения появились после запуска проекта, поэтому я не знал об этом.

Есть идеи, как это решить? Я думаю о разработке нового пользовательского интерфейса только для разрешения 720x576, но это звучит не очень хорошо, правда?


person Adriano Leal    schedule 21.05.2013    source источник
comment
вы можете добавить снимок экрана с пользовательским интерфейсом в разрешении 720x576, чтобы визуализировать проблему?   -  person huysentruitw    schedule 21.05.2013
comment
Это немного сложно, потому что мое приложение кросс-компилировано, а затем запускается в приставке. На самом деле я могу сделать снимок экрана, но мне нужно кое-что настроить для этого. Я настрою и выложу сюда ...   -  person Adriano Leal    schedule 21.05.2013
comment
Хорошо, мне просто нужно попросить моего менеджера проекта показать наш интерфейс. В любом случае, думаю, проблем бы не было. знак равно   -  person Adriano Leal    schedule 21.05.2013
comment
Если это проблема, вы можете создать небольшое фиктивное приложение с меньшим количеством виджетов, которое воспроизводит проблему.   -  person huysentruitw    schedule 21.05.2013


Ответы (1)


Решение зависит от того, что вы хотите делать в низком разрешении. Вы хотите, чтобы он выглядел так же, но без больших изображений, или вы хотите отображать другой дизайн? Использование того же дизайна для более низкого разрешения может оказаться непрактичным.

Первое, что нужно сделать, это подключиться к событию изменения размера QApplication :: desktop (), чтобы обнаружить, что произошло изменение разрешения экрана. На этом этапе вы можете либо перенаправить событие всем своим виджетам, чтобы изменить размер и использовать разные изображения, изменить размер изображений, которые у них есть, либо отобразить разные формы, которые вы создаете для разных размеров экрана.

В зависимости от дизайна пользовательского интерфейса новый дизайн для этого разрешения действительно может быть лучшим вариантом, но нам нужно увидеть дизайн, чтобы высказать свое мнение по этому поводу.

person TheDarkKnight    schedule 21.05.2013
comment
Именно @ Merlin069, я бы хотел выглядеть так же, но без больших изображений. Подключить событие с измененным размером к QApplication :: desktop () не так просто, потому что, когда пользователь меняет разрешение, мне нужно перезагрузить телеприставку и настроить DirectFB с новым разрешением. Я думал об изменении размера изображений, шрифтов и т. Д., Чтобы всегда создавать новый виджет в моем пользовательском интерфейсе, проверяя мое разрешение, но я ищу более простой вариант. Звучит сложно работать со многими разрешениями ... - person Adriano Leal; 21.05.2013
comment
Извините, я пропустил DirectFB - это встроенное устройство, которое вы используете. Если вы хотите, чтобы изображения были одинакового размера пропорционально разрешению экрана, то единственные варианты, которые, я думаю, у вас есть, - это либо уменьшить размеры изображения на лету, после обнаружения более низкого разрешения экрана, либо иметь отдельный набор изображений для загрузки , что будет намного быстрее, чем первый вариант. Если у вас, вероятно, будет много других разрешений, выбор изображений с высоким разрешением и уменьшение размера будет для вас наименьшей трудностью. - person TheDarkKnight; 21.05.2013
comment
Да @ Merlin069, я думаю, что это действительно лучшее решение. У меня есть файл, содержащий пользовательские настройки, включая текущее разрешение, поэтому я проверяю, какое разрешение используется, и если 576, я меняю размер значков, виджетов и шрифтов. Это не красивое решение, но отлично работает ... Большое спасибо за ответы. - person Adriano Leal; 21.05.2013