欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

关于qgraphicspathitem,该怎么解决

更新时间: 2014-01-05 02:44:01 责任编辑: Author_N1

 

关于QGraphicsPathItem
画一个手绘图吧,  用moveevet采集点,然后在scene上画出来,但是我setpath后update,怎么都进不了paint函数,感觉pathitem的boundingrect都会自己算吧,而且我也尝试重载boundingrect,用path().boundingrect(),还是不行,不知道各位大虾有木有遇到过类似的问题,可以给我点路子啊
--参考方法--
#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,以上是测试通过的代码
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:44:01
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/13686/
本文WWW.DOC100.NET DOC100.NET版权所有。