で100 QLabelを超える初期化するために、私は100以上のラベルを更新する機能を持つようにしたいので、私はこのような配列にそれらを置くつもりだった:どのように効率的な方法
voltage_label_array[0] = this->ui->Voltage_0;
voltage_label_array[1] = this->ui->Voltage_1;
voltage_label_array[...] = this->ui->Voltage_2;
voltage_label_array[...n] = this->ui->Voltage_n;
して、これを持っています方法
void MainWindow::updateValue(int i, int voltage){
voltage_label_array[i]->setText(QString::number(voltage));
}
しかし、これを設定する100行が悪い考えのようです。 forループまたは何かの内部にQLabel
配列を初期化する方法はありますか?
すべての変数が異なる場合はありません。たぶん、QtのUIコンパイラをそれらを配列にする方法があります。あるいは代わりにQListWidgetやQTableWidgetを使うこともできます。 – immibis
GUIエディタプログラムを使用するのではなく、GUIをプログラムで作成することを検討することができます(たとえば、forループ内に「new QLabel」、レイアウトを実行するQBoxLayoutオブジェクトを使用)。それは、エディタで手動で100以上のウィジェットを構築するよりも早く、将来的にはより簡単に更新/更新することができます。 –