如果我的主窗口中有两个文本框,我如何检查哪个文本框处于活动状态/用户正在使用?
问问题
520 次
2 回答
2
您可以使用QApplication::focusWidget()函数来查看当前哪个小部件具有焦点。
或者你可以使用QWidget::hasFocus()函数来查看你的文本框是否有焦点。
edit_A = new QTextEdit(this);
edit_B = new QTextEdit(this);
.
.
.
void MyClass::someFunction()
{
if(edit_A->hasFocus())
//edit_A is being used
else if(edit_B->hasFocus())
//edit_B is being used
}
于 2013-08-07T06:29:50.467 回答
0
前面的答案是正确的,但以防万一您想监控更多可以使用的组件
QWidget * QApplication::focusWidget ()
获得焦点小部件。
如果您想监控更多小部件,这种方法将允许您编写更简洁的代码。与其使用 if 的阶梯,不如使用某种查找表来选择要采取的行动。
于 2013-08-07T07:55:54.790 回答