我想知道为什么一些用GTK或Qt编写的应用程序无法与他们运行的平台的视觉主题无缝融合,如果该平台尚未使用该工具包编写,即基于Qt的应用程序在基于Gnome的操作系统上运行。
我自己在Ubuntu上开发Qt应用程序,当我编译并运行它们时,它看起来像完全,就像默认提供的基于GTK的应用程序一样。我知道Qt只是现有本机库的包装器,无论它在什么平台上都是如此,所以我认为GTK主题在我编译时会被放到我的应用程序中,如果我在KDE上构建它也是如此基于平台。
任何人都可以确认是否是这种情况,或者它是否完全是其他东西?
答案 0 :(得分:0)
我对Qt的体验非常相似(Qt应用程序继承了平台/操作系统的风格),但有一个很大的例外。如果我的Qt应用程序拥有自己的样式信息,那么这将取代继承的样式。 (参见Qt Styles Example。)
答案 1 :(得分:0)
我在为KDE开发应用程序时遇到了类似的问题。作为解决方案,我使用setStyle(QString styleName)覆盖默认的qt样式选择