|
1Qter豆
本帖最后由 yiqinnerry 于 2017-11-6 10:30 编辑
我在一个Qlabel里面放置画布Qpixmap,然后通过upadate()函数调用paintevent()来在画布上绘制一个图形,但是绘制的图形显示不到画布上:
//下面三行是在一个函数中使用的
QPixmap pixmap(file_name);
imageLabel->setPixmap(pixmap);
update();
//重绘事件
void PlotTool::paintEvent(QPaintEvent *event)
{
QPainter paint(this);
paint.drawPixmap(QPoint(0,0),pixmap);
paint.setPen(QPen(Qt::gray,5));
for(int i=0;i<4;i++)
{
paint.drawPoint(X,Y); paint.drawPoint(A,B);
}
paint.setPen(QPen(Qt::green,0,Qt:: DashLine));
QPolygon pts;
pts.setPoints(4,X[0],Y[0],X[1],Y[1],X[2],Y[2],X[3],Y[3]);
paint.drawConvexPolygon(pts);
}
请问各位大神我的问题出在哪呢?刚接触qt,知识很杂乱,我的程序是基于QMainWindow的,可以直接这样在其他函数中通过调用update()函数来调用paintevent()进行重绘吗? |
最佳答案
查看完整内容
听得也不是很明白,实在不会可以把程序发到 ,我试试帮你看看!
|