Qt Creator线编辑和hi-dpi和低dpi系统的按钮大小

时间:2017-07-19 20:09:03

标签: c++ qt qt-creator

我必须重新布局一个非常复杂的UI,因为我们发现它在高dpi系统上基本上无法使用。这是因为我们在几乎所有事情上都使用了固定大小,以便在Qt Creator中获得我们想要的布局设计。

我的问题是,我如何调整对象(线条编辑,按钮,旋转框等等)的大小,以便它们保持相对大小以保持所需的布局?

例如:

Example Layout with fixed pixel sized objects

这与1080p屏幕上的外观完全相同,但在具有2736 x 1824分辨率的Windows平板电脑上完全无法读取。

Rendered Layout on Hi-DPI

那么我该如何解决这个问题呢?如果我删除绝对像素大小值,则所有这些按钮和行编辑都会水平扩展,并且几乎会使小部件的宽度变为三倍。它不仅对于它们将包含的数据完全没有必要,而且会破坏UI。

我尝试过布局。布局不会阻止这些对象扩展。似乎有一些隐藏的最小尺寸任意设置得太大,无法达到我的目的。

我查看了我能找到的Qt Creator资源。为了支持hi-dpi,很多人都在背后拍照,没有关于如何设计这个以在不同分辨率的设备上实现一致的外观。

1 个答案:

答案 0 :(得分:0)

什么版本的Qt?

Qt 5.6引入高Dpi支持并根据系统比例因子调整所有视图。看看HDPI Displys Documentation。基本上,在设置应用程序之前,将此行添加到主函数中以启用自动缩放:

QGuiApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
QGuiApplication app(argc, argv);
......