相关疑难解决方法(0)

QT在没有扩展显示器的情况下获得屏幕分辨率

QDesktopWidget desktop;

int desktopHeight=desktop.geometry().height();
int desktopWidth=desktop.geometry().width();
this->resize(desktopWidth,desktopHeight);
Run Code Online (Sandbox Code Playgroud)

例如我的主显示器分辨率为1024 x 768,我的扩展显示器分辨率为800x600.我从桌面高度和宽度得到的值是两个显示器分辨率的总和.我只需要获得主显示器分辨率.谁能告诉我怎么样?谢谢.我正在使用qt 4.7.3

编辑:我使用的是双屏幕,特别是在收银台订购时,收银台可以看到主显示器,而且客户可以看到扩展显示器.

qt

17
推荐指数
1
解决办法
2万
查看次数

Windows上的QT高DPI支持

根据这里的文档http://doc.qt.io/qt-5/highdpi.htmlQT 5.4+引入了高DPI支持.但是,要么我缺少一些基本的东西,要么目前的支持仍处于非常早期阶段.我正在写一个全新的应用程序,所以我有机会从头开始做.我知道我必须使用布局而不是固定定位等,但总会出现我需要指定的情况,例如控件的最小/最大尺寸.我可以在编辑器中指定它们,但这些是设备像素.因此,如果我将Windows设置更改为使用150%DPI,则编辑器中的最小值/最大值将会太小.当然,我可以获得该比率并调整代码中的所有必需值,但是如果我必须手动完成所有操作,QT会给我什么样的高DPI支持?我的意思是前QT 5.4有什么不同?

然后一个有趣的是QT_DEVICE_PIXEL_RATIO环境变量.它完全符合我的需要,它将编辑器中设置的所有像素乘以一个因子.但为什么它是环境变量而不是每个应用程序设置?为什么它只支持2,3等的整数值,因为我们知道Windows有125,150%等设置,为什么它不能自动读取Windows设置并将自己设置为该值?

winapi qt dpi highdpi qtwidgets

5
推荐指数
1
解决办法
1859
查看次数

Qt qss中的size“1em”是什么意思,如果没有字体大小em?

截至 Qt 5文档说:

支持的单位有: px:像素 pt:一个点的大小(即 1/72 英寸) em:字体的 em 宽度(即 'M' 的宽度) ex:字体的 ex 宽度字体(即“x”的高度) 但是,Qt 的字体大小仅限于 pt 和 px,任何其他大小都必须以 px、em 或 ex 为单位。

当他们说1emis equal 时"M",他们指的是哪个 M?他们使用哪种字体和 pt 大小来计算?根据其他一些答案,我可以推测它是一些 12pt 字体,但是哪个?

这个问题有一个背景:我们的 Qt 应用程序在 Windows 和 Linux 下具有正常的用户体验,但在 Mac OS 上,字体显得很小。如果我能够弄清楚 pt 与 em 的关系,我可以为 MacOS 设置更好的字体默认值。

em 到 pt 的转换:

qt qwidget qtstylesheets

5
推荐指数
0
解决办法
2651
查看次数

Qt 和高 dpi 屏幕

我已经阅读了几篇关于这方面的文章。所以我有一个戴尔 XPS 13 并将文本、应用程序和其他项目的大小更改为 200%

在此处输入图片说明

但我想我的问题如下。当我通过 Qt Designer 启动应用程序时,一切看起来都不错:

在此处输入图片说明

在此处输入图片说明

但是当我在设计器之外运​​行应用程序时(意味着只需双击应用程序即可运行它),大小是不同的:

在此处输入图片说明

在此处输入图片说明 这个工具栏实际上比屏幕截图显示的要小。所以我的问题是有一个设置我可以设置我的应用程序,所以当我在设计器之外启动它时,它看起来就像从设计器启动时一样?

qt

5
推荐指数
1
解决办法
2014
查看次数

我可以通过API设置QT_AUTO_SCREEN_SCALE_FACTOR行为吗?

我可以通过API调用而不是环境变量来设置QT_AUTO_SCREEN_SCALE_FACTOR 1 行为吗?我想检测我的Qt应用程序是否在高dpi屏幕上运行,然后相应地设置缩放.

我试图在一开始就设置它main,它不工作

QProcessEnvironment::systemEnvironment().insert("QT_AUTO_SCREEN_SCALE_FACTOR", "1");
Run Code Online (Sandbox Code Playgroud)

它旨在与QProcess一起使用,以设置子进程的环境.它不能用于更改当前进程的环境.

样式表/ Qt Designer支持高dpi屏幕的跟进

c++ qt qt5.6

2
推荐指数
1
解决办法
5890
查看次数

标签 统计

qt ×5

c++ ×1

dpi ×1

highdpi ×1

qt5.6 ×1

qtstylesheets ×1

qtwidgets ×1

qwidget ×1

winapi ×1