• 5489阅读
  • 3回复

QApplication::widgetAt无法获取QGraphicsView的指针 [复制链接]

上一主题 下一主题
离线xiaobinl989
 

只看楼主 倒序阅读 楼主  发表于: 2012-09-11
— 本帖被 XChinux 从 Qt基础编程 移动到本区(2012-09-14) —


QWidget * QApplication::widgetAt ( const QPoint & point ) [static]


Returns the widget at global screen position point, or 0 if there is no Qt widget there.
This function can be slow.
我想要将我的自定义事件传递给指定的QGraphicsView子类来处理,我需要获得这个QWidget指针,然后通过postEvent发送事件。
但是调用widgetAt返回的并不是QGraphicsView的指针,而是他的一个child的指针。我不知道这个child到底是什么的控件,当我试着使用
该指针调用hide的时候,QGraphicsView上的所有内容就消失了,但是框框还在。此时,再次调用widgetAt,这个时候返回了
QGraphicsView的指针。当我尝试不在QGraphicsView上添加任何内容(只显示出一个白框),情况依然如故。
widgetAt返回的是哪个控件的指针?我应该如何直接获取QGraphicsView的指针?
有斗志的小笔是无敌的。
离线xiaobinl989

只看该作者 1楼 发表于: 2012-09-12
自己顶一下,求解答。
有斗志的小笔是无敌的。
离线dbzhang800

只看该作者 2楼 发表于: 2012-09-12
注意:QGraphicsView 是 QAbstractScrollArea 的派生类

后者的Manual就可以解释你认为怪异的这个问题
离线xiaobinl989

只看该作者 3楼 发表于: 2012-09-12
回 2楼(dbzhang800) 的帖子
感谢你的回答。原来是如此。这么说我获取的这个指针是这个AbstractScrollArea的中央的一个widget,那么我如何能达到我的目的,我想要直接获得QGraphicsView的指针,只能调用parent吗?我的顾虑是这样对于其他的控件调用就不同了。
有斗志的小笔是无敌的。
快速回复
限100 字节
 
上一个 下一个