如何在 Qt 中使用彩色字符串设置窗口标题?

Posted

技术标签:

【中文标题】如何在 Qt 中使用彩色字符串设置窗口标题?【英文标题】:How to set window title with a colored string in Qt? 【发布时间】:2013-09-27 14:28:20 【问题描述】:

如何在 Qt 中设置带有彩色字符串的窗口标题?以及如何在 Qt 中设置带有部分彩色字符串的窗口标题?例如

My Office [red]

My Office [black] - my.doc [red]

【问题讨论】:

您有另一个应用程序的屏幕截图吗? (不需要是 Qt 应用程序,任何都可以) 您需要基于带有 Qt::FramelessWindowHint 标志的小部件创建自定义窗口。因为原生窗口(在 win/*nix/mac 上)不支持原生彩色标题。 【参考方案1】:

如何在 Qt 中设置带有彩色字符串的窗口标题?以及如何设置 Qt 中带有部分彩色字符串的窗口标题?

你无法从 Qt 控制它,因为它最终不是 Qt 绘制它们。但是,您可以使用 QPainter 和以下方法在小部件顶部绘制自定义标题栏线:

void QPainter::setPen(const QColor & color)

void QPainter::setBrush(const QBrush & brush)

void QPainter::drawLine(const QLine & line)

您可以查看 Qt 中的 analog clock example 进行绘画自定义。

也不要忘记Qt::FramelessWindowHint 标志。

【讨论】:

以上是关于如何在 Qt 中使用彩色字符串设置窗口标题?的主要内容,如果未能解决你的问题,请参考以下文章

qt窗口设置背景图片文件路径

10个显示彩色字符的批处理代码

如何在 DOS 中打印彩色字符串?

如何使用 react 或 Gatsby(whitout 窗口 || 文档)在 url 中处理(获取、设置)查询字符串

在Qt中手动设置窗口布局的正确方法

qt中如何去掉主窗口标题栏