我正在使用独立的平铺窗口管理器 QTile。在 QTile 中,我想组织我的 GTK 和 QT 主题。对于 GTK 主题,我使用了一个名为“lzappearance”的程序,它运行得非常好。但是,对于 Qt,我使用一个名为“qt5ct”的程序。顶部写着此应用程序未正确配置,当我单击信息按钮时,它显示:未设置 QT_QPA_PLATFORMTHEME 环境变量(所需值:qt5ct)。请帮助和指导我如何设置 qt5ct 和环境变量。
答案1
我将用完整的指南来回答,以帮助那些还没有做到这一点的人:
- 安装qt5ct(
sudo pacman -S qt5ct
) - 您可能想要安装 Qt 主题,可以通过
sudo pacman -S breeze
以下方式完成。 /etc/environment
以 root 身份编辑sudo nano /etc/environment
并添加该行QT_QPA_PLATFORMTHEME=qt5ct
并保存。- 注销并登录(或重新启动)
- 现在在 qt5ct 中您可以更改主题和设置
重要的部分是添加QT_QPA_PLATFORMTHEME=qt5ct
到/etc/environment
.这使得 Qt 主题重定向到 qt5ct。
另外,如果您想要 Qt 的 Adwaita(就像我刚刚为自己做的那样),您可以adwaita-qt
从 AUR 安装。 ( yay install adwaita-qt
) 具有所有变体(浅色、深色、高对比度和高对比度反转)
答案2
tempacc 的答案是正确的。有用。感谢您的回答 :)
对于那些对更稳定的 Linux Arch 或任何其他风格或 Linux 感兴趣的人,我建议添加此配置:export QT_QPA_PLATFORMTHEME="qt5ct"
到覆盖配置文件中。例如,进入此“qt5.conf”覆盖文件:/etc/environment.d/qt5.conf
下面和上面一样。但为感兴趣的人提供了详细信息和来源。
“环境”文件是Linux 的核心文件。编辑任何核心 Linux 文件都有可能导致 Linux 不稳定。很简单,因为将来在Linux定期更新过程中,任何Linux核心文件都可能被删除和替换。反过来,您可能会失去宝贵的配置。反过来,您将面临 Linux 日益不稳定的风险。反过来,您可能会花费数小时或数天的时间来寻找 Linux 不稳定的原因。不知何故,你的配置被自动删除了。
为了解决上述挑战,我建议编辑 Linux 覆盖文件。而不是编辑 Linux 核心文件。核心文件和覆盖文件之间的主要区别在于,将来在定期 Linux 更新后,所有覆盖文件可能会自动保留。因此,Linux 更加稳定:) 这些文件称为 override,因为您添加到其中的任何配置都会自动覆盖任何核心 Linux 配置。
根据 Linux 社区的说法,在可能和适当的情况下,建议始终添加配置以覆盖文件
将 qt5 主题配置添加到覆盖文件的步骤:
如果尚未完成,请在“/etc/environment.d/qt5.conf”处创建“environment.d”文件夹。顺便说一句,在文件夹名称中,“.d”后缀表示覆盖。因此,请仔细检查您是否使用“environment.d”覆盖文件夹。不是核心“环境”文件夹。
在“environment.d”文件夹内。添加“qt5.conf”覆盖文件。此“qt5.conf”文件可以是您喜欢的任何其他覆盖文件名。
在“qt5.conf”文件中,添加以下行:
export QT_QPA_PLATFORMTHEME="qt5ct"
适当设置上述覆盖文件夹和覆盖文件的权限。如果不确定,对于您的覆盖文件夹和文件,请使用与核心文件夹和文件完全相同的权限。
要应用新配置,您可能需要重新启动设备。完毕。享受更稳定的 Linux :)
有关 Linux 配置覆盖的相关文档位于:
•https://jmmv.dev/2020/08/config-files-vs-directories.html
___•https://web.archive.org/web/20230131035142/https://jmmv.dev/2020/08/config-files-vs-directories.html
•https://manpages.debian.org/apt/sources.list.5.en.html
•https://www.redhat.com/sysadmin/etc-configuration-directories
答案3
我知道这是一个老问题,但这就是我如何在安装了多个 DE(KDE Plasma 和 i3)、运行 X11 并安装了 qt5ct 的 Arch 机器上动态设置它:
在其中创建可执行脚本
/etc/X11/xinit/xinitrc.d
一个示例脚本:
#!/bin/sh
if [[ $XDG_SESSION_DESKTOP == "i3" ]]; then
export QT_QPA_PLATFORMTHEME=qt6ct
fi
重启。