Qt:如何检测一个widget是否被选中?
Qt: how to detect whether a widget is selected?
我没有看到任何 signal/slot/function 可以告诉我一个小部件是否被鼠标选中?
有没有可能有这样一个函数告诉我当前QWidget是否被选中?我如何区分 "the current widget is selected" 和 "one of its child widget is selected?"
您可以使用 hasFocus()
功能检查对小部件的关注。 focus
属性 保存控件是否有键盘输入焦点。您还可以使用 QApplication::focusWidget()
获取具有焦点的应用程序的当前小部件。您可以获得指向焦点小部件的指针,例如:
QWidget * fw = qApp->focusWidget();
当焦点小部件改变时 QApplication::focusChanged(QWidget *old, QWidget *now)
信号是 emitted.You 可以将它连接到一个插槽,您可以在其中根据焦点变化做任何您喜欢的事情。
我没有看到任何 signal/slot/function 可以告诉我一个小部件是否被鼠标选中? 有没有可能有这样一个函数告诉我当前QWidget是否被选中?我如何区分 "the current widget is selected" 和 "one of its child widget is selected?"
您可以使用 hasFocus()
功能检查对小部件的关注。 focus
属性 保存控件是否有键盘输入焦点。您还可以使用 QApplication::focusWidget()
获取具有焦点的应用程序的当前小部件。您可以获得指向焦点小部件的指针,例如:
QWidget * fw = qApp->focusWidget();
当焦点小部件改变时 QApplication::focusChanged(QWidget *old, QWidget *now)
信号是 emitted.You 可以将它连接到一个插槽,您可以在其中根据焦点变化做任何您喜欢的事情。