我正在 Qt-Creator 5 中创建一个模拟时钟,现在我想将数字绘制到屏幕上,但它不起作用?
painter.drawText(QPoint(50, 50), "12");
我完全不明白为什么它不起作用。当我用 .drawEllipse
替换代码中的这一行时,它工作正常。因此,位置/颜色不可能是问题,除非 drawText
不会使用 setBrush()
颜色。
有人知道如何使用QPainter
在屏幕上正确绘制文本吗?
//previous code only draws blue ellipses with white background
QColor secondColor(240,0,0);
painter.setPen(Qt::NoPen);
painter.setBrush(secondColor);
painter.save();
QFont font=painter.font() ;
font.setPointSize(18);
painter.setFont(font);
painter.drawText(QPoint(50, 50), "12");
因为它位于 paintEvent
的末尾,因此无法 overdraw
最佳答案
设置笔样式
painter.setPen(colorStyle);
解决了问题。感谢马特
关于c++ - Qt - QPainter.DrawText 不绘制文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16412199/