我如何识别哪个QLineEdit
目前的重点是qt吗?
设置焦点QLinEdit
我努力了:
ui->linedit->setfocus();
但它也不适合我。我该如何解决这两个问题?
要识别哪个焦点控件(QlineEdit 或任何 QWidget),您需要获取所有当前的控件子控件,将每个控件强制转换为 QLineEdit,并检查哪个控件具有焦点,示例代码:
QList<QWidget*> mylineEdits = this->findChildren<QWidget*>();
QListIterator<QWidget*> it(mylineEdits); // iterate through the list of widgets
QWidget *lineEditField;
while (it.hasNext()) {
lineEditField = it.next(); // take each widget in the list
if(QLineEdit *lineE = qobject_cast<QLineEdit*>(lineEditField)) { // check if iterated widget is of type QLineEdit
//
if (lineE->hasFocus())
{
// this has the focus ...
}
}
}
第二个问题,将焦点放在 QWidget 上,已在此回答Post https://stackoverflow.com/questions/526761/set-qlineedit-focus-in-qt:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)