c++ - Qt GUI 如何将这些标签放入数组中

标签 c++ qt

如何将我的 labels 设置在数组中以便稍后调用?我似乎无法了解 labels 是什么类型才能实现这一目标。

我拥有的是这个,但是维护起来会很难看。 如果我能改变这个

ui->label_11->setVisible(false);
ui->label_5->setVisible(false);
ui->label_12->setVisible(false);
ui->label_44->setVisible(false);
ui->label_43->setVisible(false);
ui->label_9->setVisible(false);
ui->label_10->setVisible(false);
ui->label_42->setVisible(false);

对此,这将是最可取的。但是,也许我在以错误的方式思考这个问题。

SometypeIdoNotKnow values[7] = {ui->label_11,    
                                ui->label_5,
                                ui->label_12,
                                ui->label_44,
                                ui->label_43,
                                ui->label_9,
                                ui->label_10,
                                ui->label_42};

for (int i=0; i <= 7; i++){    
    values[i]->setVisible(false);    
}

最佳答案

如果您的编译器不是很古老,请使用 C++11:

// If you only want to iterate some labels
auto const labels = {ui->label_11, ui->label_12, ui->label_44, 
                     ui->label_43, ui->label_9, ui->label_10, 
                     ui->label_42};
// If you want to iterate all labels
auto labels = findChildren<QLabel*>();

for (auto label : labels) label->hide();

关于c++ - Qt GUI 如何将这些标签放入数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38107310/

相关文章:

c++ - 在嵌套的 if 语句中使用函数来触发 Action

c++ - 在 PostgreSQL 中使用 C++ 函数

c++ - 混合 STL 调试/发布库

qt - 如何使用 QML 在 Qt3D 中启用 GL 功能

c++ - Qt表格小部件,删除行的按钮

c++ - 全局使用的 Typedef 变量?

c++ - 从 C++ 中带参数的函数返回数组

java - 在 C++ 或 Java 中搜索文件中包含 'Match case' 和 'Match whole word' 的文本

sqlite - 如何使用QSqlQuery插入包含 '%'的字符串?

multithreading - QMutex::lock:在线程0xfe8(主线程?)中检测到死锁