gpt4 book ai didi

c++ - 我怎样才能在qt中获得当前关注的QLineEdit?

转载 作者:太空狗 更新时间:2023-10-29 21:34:23 27 4
gpt4 key购买 nike

我如何确定哪个 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 :

关于c++ - 我怎样才能在qt中获得当前关注的QLineEdit?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46702487/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com