我为诺基亚n8创建了一个屏幕分辨率为640 x 360的应用程序。它包括许多可滑动的标签等。我希望它能在诺基亚e6上运行,分辨率为640 x 480.
到目前为止,我只是简单地复制了QML文件并对其进行了修改以获得新的分辨率,但是对于每次更新来说都会有点烦人。我想知道是否有任何简单的方法可以让它自动适应任何屏幕分辨率的输出?或者,如果还有其他事情我可以做以简化我的任务。我宁愿不使用锚点,因为它使得设计QML文件过于复杂。
答案 0 :(得分:1)
如何使用QApplication::desktop()
->
availableGeometry()
设置应用程序窗口的几何图形?
来自文档:
<强>
QDesktopWidget::availableGeometry()
强>使用索引屏幕返回屏幕的可用几何图形。根据平台决定的可用内容(例如,排除Mac OS X上的停靠栏和菜单栏或Windows上的任务栏),可以使用screenGeometry()。
在下面发表评论:
重新调整整个屏幕的大小
const
中的QDesktopWidget::availableGeometry() const
告诉您,您可以非常确定该功能不会改变任何内容。你需要自己调整大小。
修改 QML docs应该为您提供自动更改应用程序几何图形所需的信息。您可以从C ++更改QML对象的几何图形,也可以将可用的屏幕几何图形定义为Q_PROPERTY
并从QML访问它。我建议使用前者,因为与signal
QDesktopWidget::workAreaResized
挂钩可能会对您的可用几何图形可能发生变化的移动设备有所帮助。
答案 1 :(得分:1)
实际上你应该避免逐个像素地对接口进行硬编码并开始使用锚点。有些手机会有另一个屏幕分辨率,然后你必须为每个手机创建新的QML。使用锚点,您可以让内容填充所有可用空间