1

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

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

QT 创作者

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

预习

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

可执行的用户界面

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

4

1 回答 1

0

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

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

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

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

于 2020-03-20T12:19:14.207 回答