如何在 Qt 中获取应用程序字体颜色

Posted

技术标签:

【中文标题】如何在 Qt 中获取应用程序字体颜色【英文标题】:How to get the application font color in Qt 【发布时间】:2010-04-28 11:42:18 【问题描述】:

我想在我的 UI 上放一些文字。

我正在使用painter 在小部件的绘制事件中绘制文本。

这是示例代码,它显示了我是如何绘制文本的:

QWidget::paintEvent(painter);
QPainter paint(this);
paint.drawText(QPoint(10,30),"Duplex");

但是,文本颜色看起来像默认主题颜色。如何将应用程序字体颜色设置为绘制事件中的文本?

【问题讨论】:

【参考方案1】:

这是我得到的答案

 QPen pen  = (QApplication::palette().text().color());

 paint.setPen(pen);

【讨论】:

这是答案,但除此之外,如果您在绘画事件中,未编辑的painter.pen() 颜色也应该是默认颜色。【参考方案2】:

您必须使用 QPainter::setBrush(QBrush &)QPainter::setPen(QPen &) 方法来更改用于绘制图形的颜色(以及文本颜色)。

命令paint.setPen(QPen(QColor(255,0,0)) 将轮廓颜色设置为红色,paint.setBrush(QBrush(QColor(0,255,0)) 将填充颜色设置为绿色。

你也可以直接使用QPainter::setPen(QColor &)方法来改变轮廓的颜色。

【讨论】:

谢谢,lohrun..事实上我想如何采用默认文本颜色..我也得到了答案..我会放置它

以上是关于如何在 Qt 中获取应用程序字体颜色的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Google 表格中获取单元格的字体颜色?

在Qt中,QTextEdit内容清空后字体和颜色也变回原来的状态

VB中如何设置调整label的字体、大小和颜色?

VB中如何设置调整label的字体、大小和颜色?

qt中如何修改按钮的背景颜色?

js设置字体颜色