• 4171阅读
  • 6回复

itemAt有时不起作用,怎么回事? [复制链接]

上一主题 下一主题
离线hope_yh
 

只看楼主 倒序阅读 楼主  发表于: 2010-02-04
用itemAt 取鼠标点的最上层的item,有时不起作用,怎么回事?
离线hope_yh

只看该作者 1楼 发表于: 2010-02-04
没办法,用其他方式做了
离线nmiirq

只看该作者 2楼 发表于: 2010-02-05
我用着好的啊,怎么回事?
离线hope_yh

只看该作者 3楼 发表于: 2010-02-05
就是有时应该返回顶层item,却给出NULL值,以前用4.3.2这样,现在用4.6.0还是会出这个问题
离线sbtree
只看该作者 4楼 发表于: 2010-02-05
itemAt()的参数很重要,这个点一定要被正确转化成这个函数所属的类的本地坐标
windows 7 + VC++2008 + Qt4.5.2
离线nmiirq

只看该作者 5楼 发表于: 2010-02-07
贴点代码上来吧,干说只能是猜测。
离线hope_yh

只看该作者 6楼 发表于: 2010-02-08
void GraphicsView::wheelEvent(QWheelEvent *event)
{
    qDebug()<<"in GraphicsView wheelEvent"<<endl;
    factor = qPow(1.2, event->delta() / 240.0);
    scale(factor, factor);
    if(NULL!=allview->gview)
    {
       QMatrix matrix1;
       matrix1.scale(1,factor);
   }
    if(NULL!=allview->ghview)
    {
        QMatrix matrix2;
        matrix2.scale(factor,1);
        allview->ghview->scale(factor,1);
    }
    qDebug()<<"event->pos = "<<event->pos()<<endl; //

    QGraphicsItem* item = itemAt(event->pos());
    if(NULL!=item)
    {
        qDebug("NULL!=item");
    }
}
快速回复
限100 字节
 
上一个 下一个