如何将我的 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/