Qtui界面2k显示器显示不全的问题
1.做项目时,运行qt生成界面控件字体显示不全,参考下面的博客解决。
用的是 QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling); 好多博客都提到了
参考:Qt5.9界面设计中控件的文字显示不完全解决方案_冰蓝樱草的博客-CSDN博
2.还找到一个博客,里面设置字体增大问题没有试成功
Qt4K高分屏自适应,解决字体没有跟随组件增大的问题 - VE视频引擎 - 博客园 (cnblogs.com)
添加里面的代码
const float DEFAULT_DPI = 96.0; HDC screen = GetDC(NULL); FLOAT dpiX = static_cast<FLOAT>(GetDeviceCaps(screen, LOGPIXELSX)); ReleaseDC(0, screen); float fontSize = dpiX / DEFAULT_DPI; QFont font = a.font(); font.setPointSize(font.pointSize()*fontSize); a.setFont(font);
出现问题无法解析的外部信号__imp_GetDeviceCaps。解决方法如下。
参考:问题解决--无法解析的外部符号 _imp_XXXXXXXXX - 为取经而来 - 博客园 (cnblogs.com)
关于#pragma comment:的说明。#pragma comment 是#pragma 下的一个子命令,意义是使用注释的方式引入库或编译目录。参考如下
参考: QT error: LNK2019: 无法解析的外部符号 __imp__SendMessageW@ 类型的错误 以及 pragma comment 的作用(用法)_漫步繁华街的博客-CSDN博客
3.
我更改显示器屏幕的缩放比,发现屏幕缩放比100% 125% QtCreator的缩放比是1x;屏幕缩放比150% QtCreator的缩放比是2x
跟qt程序产生的界面没有关系,在屏幕缩放比150%时,界面显示的超级大
参考: Qt Windows高清DPI自适应分辨率缩放,比较完美的解决方案_sethighdpiscalefactorroundingpolicy_Up to the mountain的博客-CSDN博客
4.下面这个博客有3种方法,其中一种参考了3中博客的解决办法
参考:Qt面对高分辨率屏幕的解决方法思考_qt高分辨率_悍将08的博客-CSDN博客
5. 这里有一个知乎问答
20230412
我感觉和屏幕分辨率没关系,和缩放比有直接关系。缩放比设置为100%,不会出现字体在控件里显示不去全的问题,比如下图所示
把屏幕缩放比改成100%后,在高分辨率屏幕下只会出现字体和控件整体显示变小的情况,我觉得是因为像素点个数不一样。比如100个像素点,在2k屏幕上(2560*1440)显示的就会短 ,在1080p屏幕上(1920*1080)显示的就长。