4
我有以下行为。
我为我的小部件类重载focusOutEvent()
处理程序。但是,处理程序不仅被称为,当小部件损失集中时,而是在点击它时。就像它会失去焦点,然后重新获得它。单击焦点部件时的聚焦事件
问题一:这是一个错误吗?
问题二:如果不是,是否有合理的方法来处理重点丢失? - 插槽全部focusChange()
信号看起来不吸引人。
我正在使用Qt5.1
我有以下行为。
我为我的小部件类重载focusOutEvent()
处理程序。但是,处理程序不仅被称为,当小部件损失集中时,而是在点击它时。就像它会失去焦点,然后重新获得它。单击焦点部件时的聚焦事件
问题一:这是一个错误吗?
问题二:如果不是,是否有合理的方法来处理重点丢失? - 插槽全部focusChange()
信号看起来不吸引人。
我正在使用Qt5.1
命名您的小部件。
myWidget->setObjectName("MyWidget 1");
myWidget2->setObjectName("MyWidget 2");
然后在你focusOutEvent()
和你focusInEvent()
的顶部,把有用的,但调试代码:
qDebug() << Q_FUNC_INFO << "called by" << qPrintable(this->objectName());
现在你可以看到是什么原因造成您的问题。
您可能还想转储您的对象树,以便您可以查看是否有多个实例浮动。
QObject::dumpObjectTree();
但是,从调用它的QMainWindow
或任何窗口是最外面的窗口。
希望有所帮助。
什么是您的小工具的焦点政策? – cmannett85
我尝试过'强'和'点击'。 – Number47
当你获得焦点时,你有这个小部件的一个或多个实例吗? 平台?示例代码?其他详情? – Chugaister