gpt4 book ai didi

c++ - QT_AUTO_SCREEN_SCALE_FACTOR 没有效果

转载 作者:行者123 更新时间:2023-12-01 12:49:32 25 4
gpt4 key购买 nike

我的软件在 Windows 7 及更高版本上运行,并使用 Qt 5.8 以 100% dpi 缩放(控制面板 > 放大或缩小文本和其他项目)开发。

当我的用户将他们的 dpi 缩放比例设置为 150% 时,所有文本和布局间距的大小都会增加,正如他们应该的那样,但其他一切都没有受到影响。

结果是一个损坏的 GUI,文本对于其他元素来说太大了。

我已经尽可能多地进行了研究,“简单的修复”是设置环境变量 QT_AUTO_SCREEN_SCALE_FACTOR为真。
qputenv("QT_AUTO_SCREEN_SCALE_FACTOR", "1");是我在 main.cpp 中作为第一行添加的内容。

完全没有任何影响。唯一有任何影响的是 qputenv("QT_SCALE_FACTOR", "1.5");但这绝对不是我想要的。

我如何告诉我的其余软件进行相应的扩展?

谢谢你的时间!

编辑:

这是我的错误 https://bugreports.qt.io/browse/QTBUG-55654

最佳答案

答案可能有点晚了,但可能会有所帮助。

这是对我有用的东西。
您可以通过在 QApplication 的实例化时提供命令行选项来手动设置 DPIawareness。

官方文档在这里https://doc.qt.io/qt-5/highdpi.html (部分 DPI 意识)。

根据文档,您可以将应用程序设置为 DPI Unaware(因此它会自动缩放但显示会模糊),或者设置为 System DPI Aware 或 Per-Monitor Aware。

这是 QApplication 实例化以强制 DPI Unaware(并具有 UI 位图缩放)的最小示例代码,选择 0 以外的其他值以正确启用高 DPI:

int main() 
{
int argc = 3;
char*argv[] = {(char*)"Appname", (char*)"--platform", (char*)"windows:dpiawareness=0";
(void) new QApplication(argc, argv);
}

关于c++ - QT_AUTO_SCREEN_SCALE_FACTOR 没有效果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47587874/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com