如何判断孩子QWidget是否得到了关注
How to tell if child QWidget got focus
在复杂的布局下,如果孩子有注意力,那么向父母QWidget发出信号的简单方法是什么?
一个想法是以某种方式在所有子 QWidgets 上安装事件过滤器,但这似乎有些愚蠢。
难道父母QWidget真的只是以某种方式知道其中一个孩子有重点吗?
编辑:找到了这个,也许这是唯一的办法
当子小部件具有焦点时,如何更改父小部件的背景?
您可以为所有必要的子级安装事件过滤器(是可以的),或者为需要监视的每个子级覆盖QWidget::focusInEvent
。
我很懒,所以这就是我所做的(无法粘贴代码,因为它不在这台机器上)。
在我的小部件基类中添加了一个布尔值,"listenToFocusChangesFromChildren"
然后,我将基类 focusInEvent 更改为遍历所有父级,并在任何将该布尔值设置为 true 的父级上调用"childGotFocus"。
懒惰,但似乎非常有效。
相关文章:
- 在提升multi_index容器中,是否定义了"default index"?
- 在C++STL中是否有Polyval(Matlab函数)等价物?
- 检查输入是否不是整数或数字
- 是否可以初始化不可复制类型的成员变量(或基类)
- 在C++中,是否可以基于给定的标识符创建基类的新实例,反之亦然
- 是否可以通过C++扩展强制多个python进程共享同一内存
- 此代码是否违反一个定义规则
- 是否需要删除包含对象的"pair"?
- 是否可以从int转换为enum类类型
- 无论条件是否为true,if总是在c++中执行
- 如何找到大小'x'数组是否完全填充,在C++?
- 检查值是否在集合p1和p2中,但不在p3中
- 是否可以在编译时初始化数组,以便在运行时不会花费时间?
- 检查 std::shared_ptr<> 的当前底层类型是否为 T
- 如何检查QWidget是否已关闭
- 是否可以继承QVBoxLayout并将其设置为QWidget中的布局
- 如何判断孩子QWidget是否得到了关注
- 是否可以将功能编程到Qt的SLOT()中用于QWidget,或者应该使用QSignalMapper?
- 绘制或渲染QGraphicsView或QWidget时是否存在信号或事件
- Qt:是否允许非矩形QWidget重叠