前言

我们知道,在 Gnome 环境下工作的QT程序总是有些奇妙的显示问题(PS. 但在 KDE 上工作的 GTK 程序却相当良好,Gnome 你看看你…)

最近刚装的arch,配置kvantum时直接给我来了个下马威,所有QT程序的阴影丢失了(我放了个文件管理器衬托):

问题

解决方案

解决方案一

令QT工作在 x11 模式下,以获得更好的兼容性。

打开你家目录下的 .bash_profile 文件(~/.bash_profile),在尾端加入如下环境变量:

1
export QT_QPA_PLATFORM=xcb

然后重启系统

就会发现阴影已经正常:

xcb解决方案

解决方案 2

我就是想用wayland我准备使用一些 Gnome 窗口美化插件。

那么你通常会拥有正常的阴影效果,因为它们一般帮你重绘了阴影。比如我现在用的 Rounded Window Corners Reborn(前身是 Rounded Window Corners,能够让你的窗口拥有统一的圆角,我十分推荐),启用它之后阴影也会变得正常:

插件解决方案

打算使用这类插件的读者也可以试试。

解决方案 3

还可以安装 QAdwaitaDecorations 这一 wayland 装饰插件,可以提供真正的在 wayland 下使用正确平台的窗口装饰的解决方案。

或者,也可以从 aur 上安装:

1
yay -S qadwaitadecorations-qt6

随后在 .bash_profile 文件中添加环境变量:

1
export QT_WAYLAND_DECORATION=qadwaitadecorations

重启电脑即可。此方法不仅适用于阴影丢失,也同样适用于窗口装饰丢失,退回默认 QT 窗口装饰的情况。