Russian Qt Forum
Ноябрь 22, 2024, 18:38 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: qml под разные экраны  (Прочитано 8257 раз)
kibsoft
Хакер
*****
Offline Offline

Сообщений: 625


Просмотр профиля WWW
« : Декабрь 20, 2010, 03:42 »

Не пойму один момент: если qt quick сделали для мобильных устройств (у них же разные размеры экранов), то почему во всех примерах в main.qml в итеме жестко прописаны width и height? Как я понял - это прописывается минимальный размер итема, т.е. уменьшить пользователь уже его не может, но вот растянуть может. Или нужно узнавать размер экрана и в main.qml делать биндинг для width и height? Например, width: screenWidth, где последнее - это полученная каким-то образом ширина экрана (через C++ или JS(если возможно)).

P.S. Под размеров имею ввиду разрешение экрана.
Записан

http://kibsoft.ru - Download the Qt Media Encoding Library here

The apps that were written using QtMEL:
http://srecorder.com - Screen recording software
whirlwind
Гость
« Ответ #1 : Декабрь 21, 2010, 11:34 »

там еще якоря есть, как в делфи http://doc.qt.nokia.com/4.7/qml-anchor-layout.html
Записан
kibsoft
Хакер
*****
Offline Offline

Сообщений: 625


Просмотр профиля WWW
« Ответ #2 : Декабрь 21, 2010, 17:41 »

Я не про то.. В main.qml обязательно у итема нужно забивать width и height(если не забивать, то он не появится, т.е. 0, 0), например:
Код:
 import QtQuick 1.0

 Rectangle {
     id: page
     width: 500; height: 200
     color: "lightgray"

     Text {
         id: helloText
         text: "Hello world!"
         y: 30
         anchors.horizontalCenter: page.horizontalCenter
         font.pointSize: 24; font.bold: true
     }
 }
Здесь 500 и 200 являются минимальными для этого ректангла, т.е. уменьшить окно юзер не сможет. А если экран меньше? Для моб девайсов вообще нужно на весь экран. Поэтому назревает вопрос:
Цитировать
Или нужно узнавать размер экрана и в main.qml делать биндинг для width и height? Например, width: screenWidth, где последнее - это полученная каким-то образом ширина экрана (через C++ или JS(если возможно)).
Записан

http://kibsoft.ru - Download the Qt Media Encoding Library here

The apps that were written using QtMEL:
http://srecorder.com - Screen recording software
BlackTass
Гость
« Ответ #3 : Декабрь 22, 2010, 00:56 »

QDeclarativeView::ResizeMode спасет отца русской демократии.
Записан
twp
Гость
« Ответ #4 : Декабрь 22, 2010, 11:44 »

Да, как написано в асистенте о qml viewer:
Цитировать
The QML Viewer is a tool for testing and developing QML applications. It is not intended for use in a production environment and should not be used for the deployment of QML applications. In those cases, the QML runtime should be invoked from a Qt application instead; see Qt Declarative UI Runtime for more information.
т.е. нет необходимости заботится о задании правильных размеров именно в qml-файле, а делать это нужно в приложении Qt. Примеры можно глянуть в \demos\embedded\ те что начинаются на qml*
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.046 секунд. Запросов: 23.