关于QGraphicsPathItem
画一个手绘图吧, 用moveevet采集点,然后在scene上画出来,但是我setpath后update,怎么都进不了paint函数,感觉pathitem的boundingrect都会自己算吧,而且我也尝试重载boundingrect,用path().boundingrect(),还是不行,不知道各位大虾有木有遇到过类似的问题,可以给我点路子啊 Qt bouningrect qgraphicspathitem paint函数
[解决办法]
#include <QGraphicsPathItem>
#include <qdebug.h>
class CItem : public QGraphicsPathItem
{
public:
CItem(QGraphicsItem *parent = NULL) : QGraphicsPathItem(parent)
{
}
void paint(QPainter *painter,
const QStyleOptionGraphicsItem *option,
QWidget *widget = 0)
{
qDebug() << "here";
}
void updateItem()
{
update();
}
};
#include <qgraphicsscene.h>
#include <qgraphicsview.h>
int main(int argc, char**argv)
{
QApplication app(argc,argv);
CItem item;
QGraphicsScene scene;
scene.addItem(&item);
QGraphicsView view;
view.setScene(&scene);
view.show();
item.updateItem();
return app.exec();
}
item要与graphicsview配合使用,才能进入paint,以上是测试通过的代码