【问题标题】:QT layout output with 4K display带 4K 显示的 QT 布局输出
【发布时间】:2020-03-20 09:54:22
【问题描述】:

我一直使用 C++ 中的 QT 来创建标准显示器分辨率为 1920×1440 像素的 UI。 现在我已更换为新的 PC UHD 4K,但结果出现了一些问题。

这里是一个例子:我用 Qt 创建了一个简单的 UI:

然后,如果我从 QT Creator/Designer 创建预览,我会得到我想要的结果:

相反,当我编译并执行程序时,UI 的结果却大不相同:

你知道我该如何解决这个问题吗?

【问题讨论】:

  • 这可能会有所帮助:doc.qt.io/qt-5/highdpi.html
  • 或者尝试使用Layouts
  • @vahancho ,我已经看过那个页面并尝试了所有选项:它改变了 UI 的外观,但我从来没有得到与 Qt Creator 预览中相同的结果。

标签: c++ qt user-interface uhd


【解决方案1】:

从 Qt Designer 的屏幕截图来看,您在该对话框中的顶级小部件似乎没有布局。

要将布局添加到顶层小部件,请在右侧的小部件树中选择它,然后单击其中一个布局,例如一个 QVBoxLayout。

这里发生的情况是初始小部件大小对于当前分辨率是正确的,但调整大小事件从未从对话框类提升到下一个小部件级别。这与高 DPI 无关;这是简单的旧布局管理。你很幸运,最初的尺寸还可以。

请注意,您可能还会在最外层的布局中添加一些边距,因为它会紧紧地收缩包裹内容,因此对话框起初看起来很奇怪。打开对话框布局的属性以查看边距并使用它们。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-12-14
    • 1970-01-01
    • 2023-04-06
    • 1970-01-01
    • 2017-06-15
    • 1970-01-01
    • 2013-11-05
    • 1970-01-01
    相关资源
    最近更新 更多