如何通过Qt样式表自定义Qt应用程序的标题栏?

Owe*_*wen 6 c++ user-interface qt stylesheet

我可以在Qt样式表中自定义Qt应用程序的控件.但是,我找不到自定义标题栏的方法.我找到了一些解决方案,但这需要修改应用程序本身的代码.无论如何你可以使用Qt样式表来定制它吗?

gra*_*ite 8

标题栏不是您的应用程序或Qt的一部分,它不能配置样式表.标题栏由窗口管理器提供.在某些WM中根本没有标题栏.大多数WM支持窗口装饰的可自定义主题.通常,您可以配置WM以显示具有特定主题的特定窗口.

在Qt中,只有QDockWidget的标题栏可以由样式表配置.

PS某些应用程序禁用窗口管理器中的装饰并绘制标题栏本身(例如Chromium).


Oli*_*iJG 5

Qt 无法控制应用程序标题栏和边框的外观。这是正在使用的窗口管理器(WM)的领域。Qt 可以要求 WM 将其关闭或仅显示某些按钮,但仅此而已。

自定义标题栏的标准过程是将其删除,然后在其位置上创建您自己的标题栏并设置其样式。对于任何观看的人,请注意,这并不像您想象的那么酷。有些人喜欢自定义标题栏,大多数人喜欢他们的应用程序与操作环境的其余部分融为一体(当你完成它时,它不会)。

简短的回答:在不更改应用程序源代码的情况下,无法使用 Qt 样式表对现有应用程序执行此操作。