Qt画图问题
今天用了一个小程序测试了一个问题
主窗口mainwindow个它的子窗口widget中分别重写paintEvent
mainwindow里
QPainter painter(this);
qDebug()<<"main:"<<painter.paintEgine->paintDevice;
widget里:
QPainter painter(this);
qDebug()<<"widget:"<<painter.paintEgine->paintDevice;
结果输出的QPiantDevice竟然是一样的,也就是说他们是在同一块东西上画,那为什么在这个里面画的东西不会跑到另一个里面去呢?
[解决办法]
你误会了QPiantDevice的意思,并不是指的具体某个窗体,你一个工程里全部的元素都是通过一个paintEgine的paintDevice画出来的。Qt的绘图方式可以自选,也可以不用QPaintEngine自己实现一套显示机制,但是就不能直接用painterEvent了。