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

mat*_*b89 11 gnome gnome-shell gnome3 qt high-dpi

我在 GNOME 下使用 QT 应用程序(即picardmasterpdfeditor有问题:它们的界面看起来很小。
相反,GTK 应用程序看起来不错。

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

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

我已经尝试过这里解释的技巧但它部分有效:

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

有办法解决吗?

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

小智 13

根据 Archlinux 维基:

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

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

export QT_AUTO_SCREEN_SCALE_FACTOR=1
Run Code Online (Sandbox Code Playgroud)

我已经在 ubuntu 18.04 下成功地尝试了 KeepassXC。

  • 如果“QT_AUTO_SCREEN_SCALE_FACTOR=1”不起作用,则问题可能与“gnome-settings-daemon”将“Xft.dpi”设置为非整数有关。尝试`xrdb -query | grep dpi` 来检查这一点。 (4认同)
  • 不幸的是,对我不起作用! (2认同)

Hub*_*bro 10

我在让 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
Run Code Online (Sandbox Code Playgroud)

现在它看起来很完美。您的里程可能因显示器的大小而异,您可能希望设置QT_SCALE_FACTOR为 2 或更多。

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

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