【发布时间】:2018-06-17 02:11:17
【问题描述】:
我在布局中有一堆小部件,布局是 QFrame 的子级。这允许我围绕这个布局创建一个边框。现在,当任何孩子获得焦点时,我想更改 QFrame 的边框颜色以向用户指示当前焦点所在的位置。如何最好地做到这一点,而无需将每个子类的 focuInEvent/focusOutEvent 子类化并回调其父小部件(QFrame)的样式表?在测试 QFrame 的 focusInEvent 时,我永远无法触发它。是否有某种儿童焦点事件之类的?
【问题讨论】:
-
您可以将每个孩子连接到某个处理程序,该处理程序将运行类似 sender()->parent()->doSomeThingWithBorder();
-
谢谢@JLev,这可能行得通。实际上,我在晚上结束时使用事件过滤器(我之前只是模糊地意识到)让这个工作。我很快就会发布答案,我只是在寻找对所有内容进行子类化以保持整洁的最佳方法。