首页 文章

使QML文件适合屏幕

提问于
浏览
0

我为诺基亚n8创建了一个屏幕分辨率为640 x 360的应用程序 . 它包括许多可滑动的标签等 . 我希望它能在诺基亚e6上运行,分辨率为640 x 480 .

到目前为止,我只是简单地复制了QML文件并对其进行了修改以获得新的分辨率,但是每次更新都会有点麻烦 . 我想知道是否有任何简单的方法可以让它自动适应任何屏幕分辨率的输出?或者,如果还有其他事情我可以做以简化我的任务 . 我宁愿不使用锚点,因为它使得设计QML文件过于复杂 .

2 回答

  • 1

    如何使用QApplication::desktop() -> availableGeometry()设置应用程序窗口的几何图形?

    来自文档:

    QDesktopWidget :: availableGeometry()返回具有索引屏幕的屏幕的可用几何 . 根据平台决定的可用内容(例如,排除Mac OS X上的停靠栏和菜单栏,或Windows上的任务栏),可以使用screenGeometry() .

    在下面发表你的评论:

    它是否重新调整整个屏幕的大小

    QDesktopWidget::availableGeometry() const 中的 const 告诉您,您可以非常确定该函数不需要自己调整大小 .

    Edit: QML docs应该为您提供自动更改应用程序几何图形所需的信息 . 您可以从C更改QML对象的几何图形,也可以将可用的屏幕几何图形定义为 Q_PROPERTY 并从QML访问它 . 我推荐前者,因为连接到 signal QDesktopWidget::workAreaResized可能会帮助您在可用的几何形状可能发生变化的移动设备上 .

  • 1

    实际上你应该避免逐像素地对接口进行硬编码并开始使用锚点 . 有些手机会有另一个屏幕分辨率,然后你必须为每个手机创建新的QML . 使用锚点,您可以让内容填充所有可用空间

相关问题