Разместить файл QML на экране - PullRequest
0 голосов
/ 15 ноября 2011

Я создал приложение с разрешением экрана 640 x 360 для Nokia N8.Он включает в себя множество переключений, меток и т. Д. Я хочу, чтобы он работал на Nokia E6 с разрешением 640 x 480.

До сих пор я просто копировал файл QML и изменял его дляновое разрешение, но становится немного утомительно делать это для каждого обновления.Я хочу знать, есть ли какой-нибудь простой способ, которым я могу заставить это автоматически соответствовать выводу к любому разрешению экрана?Или, если есть что-то еще, я могу сделать, чтобы упростить мою задачу.Я бы предпочел не использовать якоря, потому что это слишком усложняет разработку файла QML.

Ответы [ 2 ]

1 голос
/ 15 ноября 2011

На самом деле вам следует избегать жесткого кодирования интерфейса пиксель за пикселем и начинать использовать якоря. Там будут некоторые телефоны с еще одним разрешением экрана, а затем вам придется создавать новый QML для каждого из них. С помощью якорей вы можете позволить содержимому заполнить все доступное пространство

1 голос
/ 15 ноября 2011

Как насчет использования QApplication::desktop()->availableGeometry() для установки геометрии окна вашего приложения?

Из документов:

QDesktopWidget::availableGeometry()

Возвращает доступную геометрию экрана с индексным экраном.То, что доступно, будет зависеть от screenGeometry () в зависимости от того, что платформа решит, доступно (например, исключая панель и строку меню в Mac OS X или панель задач в Windows).

АдресацияВаш комментарий ниже:

изменяет ли он размер всего экрана

const в QDesktopWidget::availableGeometry() const говорит вам, что вы можете быть уверены, что функция не 'ничего не менять.Вам нужно будет изменить размер самостоятельно.

Редактировать: Документы QML должны предоставить вам информацию, необходимую для автоматического изменения геометрии приложения.Вы можете изменить геометрию объекта QML из C ++ или определить доступную геометрию экрана как Q_PROPERTY и получить к ней доступ из QML.Я бы порекомендовал первое, так как подключение к signal QDesktopWidget::workAreaResized может помочь вам на мобильных устройствах, где ваша доступная геометрия может измениться.

...