c++ - 在 QT 中为 QPainter 设置填充颜色(不是描边颜色)
问题描述
如何为QPainter
QT 设置填充颜色(不是笔触颜色)?
例如,我有一个负责填充矩形的代码。看起来像:
painter.fillRect(fillRect, Qt::SolidPattern);
painter
的类型在哪里QPainter
。当然,我知道可以将case中的颜色指定为第二个参数,但是我的程序中有这样的设计,如果我可以painter
预先设置填充颜色会好很多(默认颜色是黑色的)。
我尝试使用painter.setBackground(Qt::yellow);
,但没有帮助。
嗯。据此,我们有:
将画家的画笔设置为给定的画笔。
画家的画笔定义了如何填充形状。
所以,我希望像
QRect fillRect;
painter.setBrush(QBrush(Qt::yellow));
painter.fillRect(fillRect, Qt::SolidPattern);
去工作。但事实并非如此。我究竟做错了什么?
颜色rgb
保持不变:(0, 0, 0)。
解决方案
fillRect()
接受 aQBrush
作为第二个参数,所以我可以使用它:
painter.fillRect(r, QBrush(Qt::yellow, Qt::SolidPattern));
更新:
#include <QApplication>
#include <QLabel>
#include <QPainter>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QPixmap pixmap(128, 128);
pixmap.fill(Qt::transparent);
QPainter painter(&pixmap);
QRect r= pixmap.rect();
painter.setBrush(QBrush(Qt::yellow));
painter.fillRect(r, painter.brush());
painter.end();
QLabel w;
w.setPixmap(pixmap);
w.show();
return a.exec();
}
推荐阅读
- string - 给定字符串 15 次旋转后的输出,找到原始字符串
- r - 具有随机效应的流行率的元分析:我的代码有问题吗?
- python - 如何使用 matplotlib 在图像上绘制坐标数组?
- java - 如何创建获取两个参数的方法 - 流和整数
- php - 如果有人选择了特定的模板 ID,想要创建一个条件语句.....不回显 html 代码
- groovy - JMeter 的世界中的道具是什么类型的?
- r - 如何在 R 图中使用乳胶文本更改字体?
- python - 通过 URL 循环为 pandas 创建 csv 和数据框
- html - 如何在 SwiftUI 文本中显示 HTML 或 Markdown?
- excel - 使用正确的参数运行子程序时出现“参数不是可选错误”