如何在Qt中获取应用程序字体颜色
我想在我的用户界面上添加一些文本。
我正在使用画家在小部件的绘画事件中绘制文本。
这是示例代码,它显示了我如何绘制文本:
QWidget::paintEvent(painter);
QPainter paint(this);
paint.drawText(QPoint(10,30),"Duplex");
但是,文本颜色看起来像默认主题颜色。如何将应用程序字体颜色设置为绘制事件中的文本?
I want to put some text on my UI.
I am drawing the text in a paint event of a widget using painter.
Here is the sample code, which shows how I am drawing the text:
QWidget::paintEvent(painter);
QPainter paint(this);
paint.drawText(QPoint(10,30),"Duplex");
However, the text color looks like the default theme color. How do I set the application font color to the text in a paint event?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这是我得到的答案
here is the answer i got it
你必须使用
QPainter::setBrush(QBrush &)
和QPainter::setPen(QPen &)
方法更改用于绘制图形的颜色(顺便说一下文本颜色)。命令
paint.setPen(QPen(QColor(255,0,0))
会将轮廓颜色设置为红色,并且paint.setBrush(QBrush(QColor(0,255,0))
code> 将填充颜色设置为绿色。您也可以直接使用
QPainter::setPen(QColor &)
方法来更改轮廓的颜色。You have to use the
QPainter::setBrush(QBrush &)
andQPainter::setPen(QPen &)
methods to change the color used to draw graphics (and incidently the text color).The command
paint.setPen(QPen(QColor(255,0,0))
will set the outline color to red andpaint.setBrush(QBrush(QColor(0,255,0))
will set the fill color to green.You can also use directly the
QPainter::setPen(QColor &)
methods to change the color of the outline.