c++ - Qt - QPainter.DrawText 不绘制文本

标签 c++ qt qt5 qpainter drawtext

我正在 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/

相关文章:

c++ - 如何将 OpenCV 的 Mat 结构的部分图像矩阵加载到我自己的 3x3 数组中?

c++ - 在OpenMP C++中并行化许多嵌套的for循环

qt - 使用QProcess开始一个过程

c++ - Qt 中的 const char* 错误行为

c++ - 使用 qt 为发送者和接收者自动生成的 Ui

c++ - 不用qmake编译Qt5代码

c++ - Qt 5.1.1 : QWebView doesn't load local html file

C++11 修改 std::discrete_distribution 中的值

C++ 整数类型是给定类型宽度的两倍

c++ - 如何在 Qt GUI 中显示原始图像文件?