当前位置: 代码迷 >> QT开发 >> 修改qt竟然不执行?如何去除addline的line
  详细解决方案

修改qt竟然不执行?如何去除addline的line

热度:130   发布时间:2016-04-25 03:10:15.0
修改qt竟然不执行?怎么去除addline的line?
我有一个scene.addLine(x0,y0,x1,y1,QPen(Qt::green));
点击clear,想把那条线去掉。
修改qt的源代码如下:
qgraphicsscene.h:
      新增public std::vector<QGraphicsItem* > items_to_remove;
qgraphicsscene.cpp:
      QGraphicsLineItem *QGraphicsScene::addLine(const QLineF &line, const QPen &pen)
{
    QGraphicsLineItem *item = new QGraphicsLineItem(line);
    item->setPen(pen);
    addItem(item);

//新增的部分
printf("here");

//TODO:push_back*********************
item_to_remove.push_back(item);
//新增结束

    return item;
}

运行程序的时候,addline画线了,可是根本没有打印here,可见这个方法没有执行,太奇怪了,为什么没有执行?

或者大神们有没有什么办法clear掉line呢?
------解决思路----------------------
改了Qt源码你需要重新编译Qt源码库啊
------解决思路----------------------
对头,首先编译Qt库,然后配置Qt Creator使用你编译的版本,这样才能验证。另外最好使用qDebug,表用printf
  相关解决方案