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

标签 c++ qt

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

{array element } = ui->text_1->text();

并重复 text_2、text_3 直到 n。

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

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

在qt中如何实现?

最佳答案

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

  1. 创建 UI 时,不要使用 text1 , text2等,你创建一个 QLineEdit 的数组s(例如 std::vector<QLineEdit>),然后当您想要检索它们的值时,只需遍历此数组

  2. 遍历容器小部件的子项。您可以使用以下 ( documentation ) 获取 child 的列表:


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

关于c++ - 如何在 qt 中使用 gui 对象名称运行循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6691882/

相关文章:

c++ - 创建一个从其他类成员自动计算的类成员?

c++ - 如果原始像素在新图像中为黑色,则 Qt 绘制蓝色像素

c++ - 在堆栈上实例化一个类,其中 var 在 header 中定义

c++ - Qt 创建对触摸事件敏感的 QML slider

android - QSql数据库 : Driver not loaded Driver not loaded

android - 在 qt (qml) 中更改原生样式组合框的文本颜色

c++ - 多线程导致Qt运行时报错

C++ 共同祖先问题。它是什么?

c++ - Rapidjson 输出到字符串不起作用

c++ - 如何创建一个包含4个字节的多个信息的ID