【发布时间】:2017-12-08 12:42:47
【问题描述】:
在我的程序中,我正在显示一个对话框窗口来向用户提供信息。我正在使用 QT Label 元素来执行此操作,并且我想让文本看起来更“有机”或雕刻,就像一个窗口的标题文本,而不是简单的黑底灰。有没有人有什么建议?我正在为 Linux 使用 QT Creator 和 c++ 编码。
这是我想要完成的图像
【问题讨论】:
-
您可能希望包含一个显示您正在寻找的效果示例的屏幕截图,因为不同的窗口管理器以不同的方式呈现窗口标题。
-
你试过QLabel的rich-text option了吗?如果启用,QLabel 进程 mark-up(HTML 的子集)。由于 QLabel 是从
QFrame派生的,它还提供了属性来调整各种样式的框架。如果您覆盖style(继承自QWidget),可能会有更多机会,但这超出了我的个人经验。 -
关于@JeremyFriesner 的评论,我建议看一下
QStylePainter(例如QStylePainter::drawComplexControl(Qt::CC_TitleBar, ...),它允许使用活动样式引擎绘制自己的东西。(这就是我们使用的我们自己的 Qt 小部件(扩展)以保持外观同步。与其余部分。) -
关于
QLabel和风格,我发现了这个:SO: QLabel: set color of text and background。
标签: c++ linux qt user-interface qlabel