【问题标题】:How to customize the title bar of a Qt app through Qt stylesheet?如何通过 Qt 样式表自定义 Qt 应用的标题栏?
【发布时间】:2011-05-29 07:35:14
【问题描述】:

我能够在 Qt 样式表中自定义 Qt 应用程序的控件。但是,我找不到自定义标题栏的方法。我找到了一些解决方案,但这需要修改应用程序本身的代码。无论如何,您可以仅使用 Qt 样式表对其进行自定义吗?

【问题讨论】:

  • 您可以制作一个无框窗口并自己构建一个标题栏。添加一个处理移动的小部件并不难,剩下的只是一个标签和几个按钮。

标签: c++ qt user-interface stylesheet


【解决方案1】:

Title bar 不是您的应用程序或 Qt 的一部分,并且不能使用样式表进行配置。标题栏由Window manager 提供。在某些 WM 中根本没有标题栏。大多数 WM 支持可自定义的窗口装饰主题。通常,您可以配置 WM 以显示具有特定主题的特定窗口。

Qt中只有QDockWidget的标题栏可以通过样式表来配置。

附注一些应用程序禁用窗口管理器的装饰并自行绘制标题栏(例如 Chromium)。

【讨论】:

    【解决方案2】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-11-08
      • 2019-05-11
      • 2011-05-25
      • 2018-02-25
      • 2018-07-25
      • 2011-12-12
      • 1970-01-01
      • 2020-02-15
      相关资源
      最近更新 更多