如何在 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 中使用彩色字符串设置窗口标题?的主要内容,如果未能解决你的问题,请参考以下文章