我必须重新布局一个非常复杂的 UI,因为我们发现它在高 dpi 系统上基本上不可用。这是因为为了在 Qt Creator 中获得我们想要的布局设计,我们对几乎所有内容都使用了固定大小。
我的问题是,如何调整对象(行编辑、按钮、旋转框等)的大小,使它们保持彼此的相对大小以保持所需的布局?
例如:
这在 1080p 屏幕上呈现的完全一样,但在分辨率为 2736 x 1824 的 Windows 平板电脑上完全不可读。
那么我该如何解决这个问题呢?如果我删除绝对像素大小值,所有这些按钮和行编辑将失去控制地水平扩展并且几乎是小部件宽度的三倍。这不仅对于它们将包含的数据完全没有必要,还会破坏 UI。
我试过布局。布局不会阻止这些对象展开。似乎有一些隐藏的最小尺寸被任意设置为对我的目的来说太大了。
我查看了我能找到的 Qt Creator 资源。许多人因支持 hi-dpi 而自夸,却没有提及如何为此进行设计以在不同分辨率的设备上实现一致的外观。
最佳答案
什么版本的 Qt?
Qt 5.6 引入了高 Dpi 支持并通过系统比例因子调整所有 View 。看看 HDPI Displys Documentation .基本上,在设置您的应用程序以启用自动缩放之前,将此行添加到您的主要功能:
QGuiApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
QGuiApplication app(argc, argv);
......
关于c++ - 高 dpi 和低 dpi 系统的 Qt Creator 行编辑和按钮大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45200124/