如何在 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 中获取应用程序字体颜色的主要内容,如果未能解决你的问题,请参考以下文章