覆盖专有 Qt5 应用程序上的自定义样式

覆盖专有 Qt5 应用程序上的自定义样式

我在 Gentoo 上运行 KDE Plasma 5.22,使用 Kvantum 作为我的应用程序主题引擎。我想使用该应用程序混沌,这是一个分形渲染套件,远远优于大多数其他套件,但不幸的是它是专有的,因此很难修改。它使用 Qt5 作为 UI,但它有一个我似乎无法覆盖的自定义主题,这对可用性来说是一个严重的问题,因为我的视力比平均水平差,而且它的深色主题和小文本让我很难使用它。我看看我在做什么(它没有界面缩放功能)。看看遵循我的主题的应用程序 (KeePassXC) 与 Chaotica 相比的外观:

KeePassXC 截图 在此输入图像描述

我发现您可以使用 -style 选项来覆盖软件设置的样式,但这对我不起作用。如果我运行chaotica -style kvantum,它会说:

QApplication: invalid style override passed, ignoring it.
 Available styles: Windows, Fusion

但即使我运行它,chaotica -style Fusion它也不会改变风格。我想知道可能会影响这一点的一件事是应用程序附带了自己的 Qt 库副本,因此我更改qt.conf为:

[Paths]
Prefix=/usr
Libraries=/lib64
Plugins=/lib64/qt5/plugins

这些目录与 Chaotica 附带的包含 Qt 库的文件夹具有相同的文件,因此应该可以工作。但是,使用 qt.conf 从控制台运行程序会给出错误消息:

qt.qpa.plugin: Could not find the Qt platform plugin "xcb" in ""
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

然后它就永远不会启动。

软件附带的文件 libQt5XcbQpa.so.5 也存在于 /lib64 中,libqxcb-glx-integration.so 存在于附带的插件文件夹中以及我放入 qt.conf 中的文件中,所以我真的不知道为什么这么说。我不知道除此之外还能做什么 - 其他人知道我如何强制它使用我的系统主题,或者至少使用更大的字体?

答案1

您可能想以另一种方式将您的应用程序指向 Qt5 插件:

QT_QPA_PLATFORM_PLUGIN_PATH=/usr/lib64/qt5/plugins chaotica -style Fusion

相关内容