gpt4 book ai didi

c++ - 单击聚焦小部件时的聚焦事件

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:23:37 24 4
gpt4 key购买 nike

我有以下行为。
我为我的小部件类重载了 focusOutEvent() 处理程序。但是处理程序不仅在小部件失去焦点时被调用,而且在单击它时被调用。就像它会失去焦点然后重新获得焦点一样。

问题一:是bug吗?
问题二:如果没有,是否有合理的方法来处理焦点丢失? -- 插入所有 focusChange() 信号看起来并不吸引人。

我正在使用 Qt5.1

最佳答案

为您的小部件命名。

myWidget->setObjectName("MyWidget 1");

myWidget2->setObjectName("MyWidget 2");

然后在您的 focusOutEvent() 和您的 focusInEvent() 的顶部,放置一个有用的调试代码:

qDebug() << Q_FUNC_INFO << "called by" << qPrintable(this->objectName());

现在您可以看到是什么导致了您的问题。

您可能还想转储对象树,以便查看是否有多个实例 float 。

QObject::dumpObjectTree();

但是从您的 QMainWindow 或您的最外层窗口中的任何窗口调用它。

希望对您有所帮助。

关于c++ - 单击聚焦小部件时的聚焦事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16793772/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com