【问题标题】:UI problems when changing the screen-resolution更改屏幕分辨率时的 UI 问题
【发布时间】:2013-05-21 13:52:48
【问题描述】:

我是 Qt 新手,在更改应用程序的分辨率时遇到问题。我正在使用 DirectFB 处理嵌入式应用程序。

我的 UI 是为 1280x720 设计的,它可以正常工作!在 1920x1080 时,用户界面很小但仍然不错。主要问题是当分辨率更改为 720x576 时,UI 真的很大,我似乎无法调整小部件内的对象大小或调用函数来调整 UI。

这些额外的分辨率选项是在项目启动之后出现的,所以我不知道。

关于如何解决这个问题的任何想法?我正在考虑为 720x576 设计一个新的 UI,但这听起来不太好,对吧?

【问题讨论】:

  • 您能否添加一个 720x576 的 UI 屏幕截图以可视化问题?
  • 这有点难,因为我的应用程序是交叉编译的,然后它在机顶盒中运行。事实上,我可以得到一个截图,但我需要为此设置一些东西。我会设置并在这里发布...
  • 好的,我只需要询问我的经理项目是否要展示我们的 UI。无论如何,我认为不会有问题。 =)
  • 如果这是一个问题,您可以创建一个带有较少小部件的小型虚拟应用程序来重现问题。

标签: qt screen-resolution


【解决方案1】:

解决方案取决于您想在低分辨率下做什么。您是否希望它看起来相同,但没有更大的图像,或者您想显示不同的设计?在较低的分辨率下使用相同的设计可能不切实际。

首先要做的是连接到 QApplication::desktop() resized 事件以检测屏幕分辨率发生了变化。此时,您可以将事件转发到所有小部件以调整大小和使用不同的图像、调整它们拥有的图像的大小,或者显示您为不同屏幕尺寸创建的不同表单。

根据 UI 的设计,针对该分辨率的新设计可能确实是最佳选择,但我们需要查看设计才能对此发表意见。

【讨论】:

  • 完全是@Merlin069,我想看起来一样,但没有更大的图像。将调整大小的事件连接到 QApplication::desktop() 并不是那么简单,因为当用户更改分辨率时,我需要重新启动机顶盒并使用新分辨率设置 DirectFB。我想调整图像、字体等的大小,总是在我的 UI 中实例化一个新的小部件来验证我的分辨率,但我正在寻找一个更简单的选择。听起来很难处理多种分辨率...
  • 抱歉,我错过了 DirectFB 是您正在使用的嵌入式设备。如果您希望图像的大小与屏幕分辨率成比例,那么我认为您唯一的选择是在检测到较低的屏幕分辨率后即时减小图像大小,或者加载一组单独的图像,这将比第一个选项快得多。如果您可能有很多其他分辨率,那么选择高分辨率图像和缩小尺寸对您来说是最少的工作量。
  • 是的@Merlin069,我认为这确实是更好的解决方案。我有一个包含用户首选项的文件,包括当前分辨率,所以我正在测试正在使用什么分辨率,如果是 576,我会调整图标、小部件和字体的大小。不是一个漂亮的解决方案,但效果很好......非常感谢您的回答。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-03-04
  • 1970-01-01
  • 1970-01-01
  • 2014-05-25
  • 1970-01-01
  • 2011-11-15
相关资源
最近更新 更多