QT - 如何为我的GUI创建这个数组全局?

时间:2016-07-02 03:27:06

标签: c++ qt

QSpinBox* spinright[size] = {ui->norm_spinBox_2,
                             ui->norm_spinBox_3,
                          ui->norm_spinBox_4,
                          ui->norm_spinBox_5,
                          ui->norm_spinBox_6,
                          ui->norm_spinBox_7,
                          ui->norm_spinBox_8};

我希望能够在我的程序中的两个位置访问此数组。但是,如果这个解决方案有更好的替代方案,我会全力以赴。我试图创建一个可以为该程序调用的函数;然而,它开始变得漫长而拖延,走这条路线变得不那么值得了。

这就是我设置层次结构的方式。我的整体尝试是按下按钮时使某些按钮出现并消失。如果可以使垂直布局消失,那么这将是一个更好的方法。

Tree of boxes

最后,我将采取可能在此处提供的任何解决方案。
谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

void GuiTest::setLabelsVisible(int index, bool visible){
    QLabel* labels[norm_size] = {ui->norm_label_2,
                                 ui->norm_label_3,
                                 ui->norm_label_4,
                                 ui->norm_label_5,
                                 ui->norm_label_6,
                                 ui->norm_label_7,
                                 ui->norm_label_8};
    labels[index]->setVisible(visible);
}
我发现,实现这一目标的最佳方式是朝这个方向发展。而不是将这个对象列表设置为全局只是有单独的函数,将以某种方式操纵结构。