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

问题描述:

我必须重新布局非常复杂的UI,因为我们发现它在高dpi系统上基本上不可用。这是因为我们在几乎所有东西上都使用了固定大小,以便在Qt Creator中获得我们想要的布局设计。用于hi-dpi和低dpi系统的Qt Creator行编辑和按钮大小

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

例如:

Example Layout with fixed pixel sized objects

这renderd正是因为它看起来1080p的屏幕上,但它是在Windows平板电脑具有2736 X 1824的分辨率完全不可读。

Rendered Layout on Hi-DPI

那么,如何解决这一问题?如果我删除了绝对像素大小值,则所有这些按钮和线条编辑都会水平地失控并几乎会缩小小部件的宽度。这不仅对于它们将包含的数据完全没有必要,而且会毁掉用户界面。

我试过布局。布局不会阻止这些对象扩展。似乎有一些隐藏的最小尺寸对于我的目的来说过于庞大。

我查看了我可以找到的Qt Creator资源。背后支持hi-dpi的很多细节,没有关于如何设计这一点,以实现跨不同分辨率设备的一致外观。

+0

您使用了什么样式?使用'qApp-> setStyle(“fusion”)进行测试;' – eyllanesc

+0

给出这些都在Qt Creator中,我在哪里放置这些代码?这会给我什么? – granitdev

什么版本的Qt?

Qt 5.6引入高Dpi支持并通过系统比例因子调整所有视图。看看HDPI Displys Documentation。基本上,在设置您的应用程序以启用自动比例之前,将此线添加到您的主要功能:

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

我正在使用Qt 5.4,不幸的是升级决定超出了我的薪酬等级。如果我们升级,谢谢,我一定会使用它。 – granitdev