如果我的主窗口中有两个文本框,我如何检查用户正在使用哪一个文本框?
答案 0 :(得分: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
}
答案 1 :(得分:0)
之前的答案是正确的,但以防您想要监控更多可以使用的组件
QWidget * QApplication::focusWidget ()
获取焦点小部件。
如果您想要监控更多小部件,这种方法将允许您制作更干净的代码。而不是使用ifs的阶梯只需使用某种查找表来选择要采取的行动。