如题,QT新手,在Widget的基类中,用QPixmap开了一块区域做涂鸦板,但是现在想加入一个“清除”功能,可以重新开始画,请指教,另外,在涂鸦板上画线段时,最后一点总是连接到(0,0)点处,不知是为什么。
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
resize(500,450);
pix = QPixmap(500,300);
pix.fill(Qt::white);
}
void Widget::paintEvent(QPaintEvent *event)
{
QPainter pp(&pix);
if( flag == false)
{
pp.setPen(Qt::black);
pp.drawLine(lastPoint,endPoint);
lastPoint = endPoint;
QPainter painter(this);
painter.drawPixmap(0,0,pix);//将绘图板定义在0,0位置处
}
else
{
pp.setPen(Qt::blue);
for(int i = 0; i < ((n-1)*grain); i++)
{
pp.drawLine(cspline->Spline[i].x,cspline->Spline[i].y,cspline->Spline[i+1].x,cspline->Spline[i+1].y);
}
QPainter painter(this);
painter.drawPixmap(0,0,pix);
}
}
QT QPainter 在 QPixmap 上画图后,如何清除涂鸦板上的结果,画另外一张?
答案:2 悬赏:10 手机版
解决时间 2021-01-03 11:01
- 提问者网友:记得曾经
- 2021-01-03 06:48
最佳答案
- 五星知识达人网友:行雁书
- 2021-01-03 07:20
你不是已经写了吗...
把你已经存储起来的点清除...
清空 pixmap .
pix.fill(Qt::white);
在调用一个repaint 事件...
把你已经存储起来的点清除...
清空 pixmap .
pix.fill(Qt::white);
在调用一个repaint 事件...
全部回答
- 1楼网友:洒脱疯子
- 2021-01-03 08:26
我不会~~~但还是要微笑~~~:)
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯