如何在qt中使用gui对象名运行循环?

rwi*_*wik 2 c++ qt

我有一个gui表单,其中存在多个文本框.我想将它们的值放在数组中.一种方法是通过写这样的东西

{array element } = ui->text_1->text();
Run Code Online (Sandbox Code Playgroud)

并将其重复为text_2,text_3至n.

我想要的是运行一个循环并在每个循环中替换文本框名称的数字部分.

这样的事情 {array element } = ui->text_{This number getting changed }->text();

如何在qt中完成?

Mat*_*yas 7

有两种方法可以做到这一点.

  1. 当你创建UI而不是使用text1,text2等等你创建一个QLineEdits 数组(例如.std::vector<QLineEdit>)然后当你想要检索它们的值然后简单地迭代这个数组

  2. 迭代容器小部件的子节点.您可以使用以下(文档)获取子项列表:


   QList<QObject *> list = parentWidget->children();

Run Code Online (Sandbox Code Playgroud)