Qt如何知道widget,用户上次在哪个元素上设置了焦点

标签 qt qwidget qevent

Qt。我有一个表格。它上面有 2 个小部件,其中包含其他小部件、按钮、行编辑等。 我需要:当用户设置焦点、单击鼠标或对它包含的第一个小部件或元素执行某些操作时 - 我需要将变量设置为 0。如果他对第二个小部件执行相同操作 - 必须将变量设置为 1。 如何做到这一点?

最佳答案

QApplication::focusWidget() 返回指向此时具有焦点的小部件的指针。还有 QApplication::focusChanged(QWidget *old, QWidget *now) 信号,您可以将它连接到插槽以更改变量。

关于Qt如何知道widget,用户上次在哪个元素上设置了焦点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12954945/

相关文章:

c++ - 如何在QTreeWidget子项上正确显示QIcon?

c++ - 出错时停止代码执行 (C++)

c++ - Qt Widgets 和派生类

c++ - Qt - 从 QWidget 的布局中清除所有小部件

c++ - QEvent 信号和槽

python - PyQt 自动完成 QlineEdit 不显示列表项

c++ - 将 QObject* 设置为 QMLEngine 根上下文属性

qt - 在 Qt 中发布事件而不指定目标对象

c++ - 如何访问呈现在屏幕上的原始小部件像素?

qt - 当用户打开菜单或调整窗口大小时,QMainWindow 停止接收 QEvent::UpdateRequest