GNOME 下 QT5 应用程序的缩放/HiDPI 问题

GNOME 下 QT5 应用程序的缩放/HiDPI 问题

我在使用 QT 应用程序时遇到问题(IE皮卡德或者masterpdfeditor在 GNOME 下:他们的界面看起来很小。
相反,GTK 应用程序看起来不错。

我想要一个适用于所有应用程序的全局解决方案,而不是针对每个应用程序进行修复。

我不知道问题到底从哪里开始(是 QT5 问题还是 GNOME 问题?),但我想要一个界面。我该怎么做?

我已经尝试过一个解释的技巧这里但它部分起作用:

  • 如果我直接从终端启动应用程序,通过附加正确的变量,例如QT_SCALE_FACTOR=1.35 picard,技巧作品!
  • 而如果我从菜单(gnome-shell)启动它们,导出的变量完全是被忽略

有办法解决吗?

我有一台连接了外部全高清 24" 显示器的笔记本电脑。我使用的是 Arch Linux x86_64 和 Gnome 3.28/3.30。

答案1

我在让 Viber 在 HiDPI 显示器上正常运行时遇到一些问题。默认情况下 Viber 是大量的以至于我必须全屏才能使用它。

解决方案是禁用自动缩放 ( QT_AUTO_SCREEN_SCALE_FACTOR=0) 并设置手动值 ( QT_SCALE_FACTOR=1.5)。

我将这Exec=一行修改/usr/share/applications/viber.desktop为:

Exec=/usr/bin/env QT_AUTO_SCREEN_SCALE_FACTOR=0 QT_SCALE_FACTOR=1.5 /usr/bin/viber %u

现在看起来很完美。您的里程数可能会根据显示器的大小而有所不同,您可能需要设置QT_SCALE_FACTOR为 2 甚至更多。

我发现很奇怪,我必须明确禁用自动缩放,因为我在网上找到的大多数答案都说你必须使能够它可以解决您的缩放问题。我猜它已经成为新版本 QT 中的默认设置(?)

(我知道这并不能严格回答所提出的问题,但我认为这对某人有用。)

答案2

根据 Archlinux 维基百科:

从 Qt 5.6 开始,可以通过设置 QT_AUTO_SCREEN_SCALE_FACTOR 环境变量来指示 Qt 5 应用程序遵循屏幕 DPI。

因此,您只需编辑~/.profile~/.bash_profile添加此行即可导出正确的环境变量,如下所示:

export QT_AUTO_SCREEN_SCALE_FACTOR=1

我已经在 ubuntu 18.04 下成功尝试使用 KeepassXC。

答案3

不要使用QT_AUTO_SCREEN_SCALE_FACTOR.根据我的经验,这似乎会导致一些奇怪的默认缩放。

代替使用QT_SCALE_FACTOR=1.5
(或者任何你想要的尺寸,支持分数缩放。)

在配备 4K 显示屏的戴尔上完美运行。

您还可以将其添加到桌面启动器:

Exec=env QT_SCALE_FACTOR=1.5 /path/to/app

来源: 它可以在我的 4k 显示屏机器上运行。

答案4

Linux Mint 20.3,Apple Retina 显示屏,同样的问题。这篇优秀的评论指向正确的方向。

改变QT_SCALE_FACTOR对我来说不起作用。

xrdb -query | grep dpi给了我“172.156948…”(非整数)。

我手动将其设置为 172,如下所示:

xrdb -merge Enter

Xft.dpi: 172Enter Strg+D

问题解决了。我不确定这个解决方案有多持久,但是互联网上有足够的信息如何将其存储在 .Xresources 中。

相关内容