• 4450阅读
  • 5回复

如何从scene中得到鼠标点中的item? [复制链接]

上一主题 下一主题
离线wk5882846
 

只看楼主 倒序阅读 楼主  发表于: 2012-02-12
之前试了scene->focusitem();结果发现得到的指针是空的。focusitem到底返回的是哪个item?
我在mainwindow中设置鼠标事件,在点击的时候用scene->itemat(curpos);也不行。得到的也是空的。
请问要得到鼠标点中的item(对了这个item是我自己从QGraphicsItem QObject派生的)该怎么办?
asd
离线jdwx

只看该作者 1楼 发表于: 2012-02-12
回 楼主(wk5882846) 的帖子
QList<QGraphicsItem *> QGraphicsScene::selectedItems () const
返回所有选中item。
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线wk5882846

只看该作者 2楼 发表于: 2012-02-12
这个我试过,也没用。
我是这样写的槽函数,信号发了以后,ITEM没有一个变大的。
int bei= 2;
    QList<QGraphicsItem *> it = scene->selectedItems();
    for(int i=0;i<it.size();i++)
    {
        it.value(i)->scale(bei,bei);
    }
asd
离线wk5882846

只看该作者 3楼 发表于: 2012-02-12
回 1楼(jdwx) 的帖子
我还用过QList<QGraphicsItem *>   it = scene->items();
也不行  是不是因为我的item是子类,不是qgraphicsitem类
asd
离线wk5882846

只看该作者 4楼 发表于: 2012-02-12
回 1楼(jdwx) 的帖子
搞定了,我又试了次 items  搞定了
可能是我上次哪弄错了
3q  
asd
离线wk5882846

只看该作者 5楼 发表于: 2012-02-12
回 1楼(jdwx) 的帖子
但是那个selectItems一直不行,
我想问一下怎么才选selected了,鼠标拖动有没有橡皮条,是不是要写鼠标事件?
我在Item的press事件里加上this->setSelected(true);
结果还是报错“底层由于接受到操作系统的信号而停止”
asd
快速回复
限100 字节
 
上一个 下一个