我已经使用 Qt 创建了一些 GUI 应用程序。我的 GUI 应用程序包含按钮和单选按钮等控件。当我运行应用程序时,按钮内的按钮和字体看起来很正常。当我将显示的 DPI 缩放大小从 100% 更改为 150% 或 200% 时,无论分辨率如何,控件的字体大小都会渲染得更大,但不会显示控件大小(按钮、单选按钮)。因此,控件内的文本被截断。请看附图。
DPI 缩放大小设置为 100% 时的 Qt 应用程序外观
DPI 缩放大小设置为 200% 时的 Qt 应用程序外观
我也在一些平板电脑上运行我的应用程序。在平板电脑中,DPI 比例值应大于 150%,否则一切将显示非常小。
我在网上搜索在 Qt 中创建 UI 应用程序,无论分辨率和 DPI 比例值如何,但没有运气。所以我在这里发布我的任务。请让我知道是否有某种方法可以摆脱这种情况。
原文由 Arun 发布,翻译遵循 CC BY-SA 4.0 许可协议
有很多方法。
qreal dpi = QGuiApplication::primaryScreen()->logicalDotsPerInch();
然后你通过将它乘以计算的比率来计算新的字体大小。
例如,您可以使用这样的字体属性