Qt 和高 dpi 屏幕
Posted
技术标签:
【中文标题】Qt 和高 dpi 屏幕【英文标题】:Qt and high dpi screens 【发布时间】:2015-12-22 01:11:38 【问题描述】:我已经阅读了几篇关于此的文章。所以我有一台戴尔 XPS 13 并将文本、应用程序和其他项目的大小更改为 200%
但我想我的问题如下。当我通过 Qt Designer 启动应用程序时,一切看起来都很好:
但是当我在 Designer 之外运行应用程序时(意味着只需双击应用程序运行它),大小就不同了:
这个工具栏实际上比屏幕截图显示的要小。所以我的问题是有一个设置我可以设置我的应用程序,所以当我在 Designer 之外启动它时,它看起来就像从 Designer 启动时一样?
【问题讨论】:
您使用的是哪个版本?我问是因为 5.6 测试版应该解决其中一些高 DPI 问题。 版本 5.5.1。 5.6 之前有解决方法吗? 【参考方案1】:对于某些小部件类,您可以尝试使用样式表提供相对于其字体大小的大小度量:
pMyWidget->setStyleSheet(
"MyWidget " // What type is it?
"min-width: 80em;" // If the dimension
"min-height: 40em;" // attribute is
"width: 160em;" // applicable
"height: 80em;" // to this type.
// margin: // See the list
// padding: // of related
// spacing: // attributes
"");
“em
”指的是大写“M”字体大小AFAIR。 这里棘手的部分是实际的 MyWidget 类型是什么,如果你可以应用这样的样式表。你可以省略样式 MyWidget
中的小部件类型,但保留内容但它应该修改所有那个人正在养育的小部件。
【讨论】:
感谢您的信息。我想知道,Designer 在启动应用程序时是否会做一些事情,让它看起来与手动启动时不同? 我不这么认为。如果系统中的监视器多于应用程序启动的监视器,可能会反映在默认缩放上。 我想我的问题是,当我在构建后启动应用程序时,Designer 是如何做到的?我在我的戴尔 XPS13 笔记本电脑上运行设计器和不运行它,我注意到了差异 你可以在这里找到类似的问题***.com/questions/35714837/…以上是关于Qt 和高 dpi 屏幕的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Windows 上测试不同 DPI/屏幕分辨率的 Qml/Quick UI?
QMouseEvent::localPos() 和高 DPI 显示 (Mac Retina)
Android 屏幕适配屏幕适配基础概念 ③ ( 屏幕像素密度 DPI 与素材大小关联 | 屏幕像素密度 DPI 与 屏幕密度限定符关联 )
Android 屏幕适配屏幕适配基础概念 ③ ( 屏幕像素密度 DPI 与素材大小关联 | 屏幕像素密度 DPI 与 屏幕密度限定符关联 )