私は QtCreator を使用しており、単一のウィジェットに LineEdit オブジェクトを含む GUI を作成しました。ウィジェットのオブジェクトを返したいときは、次のように呼び出します。
QList<QLineEdit *> boxes = ui->gridLayoutWidget->findChildren<QLineEdit *>();
残念ながら、QList 内のこれらのオブジェクトの順序は、「ui」ファイルに表示される順序によって異なります。順序を変更するにはどうすればよいですか?
たとえば、私の ui ファイルは次のようになります。
<layout class="QGridLayout" name="gridLayout">
<item row="5" column="8" alignment="Qt::AlignHCenter|Qt::AlignVCenter">
<widget class="QLineEdit" name="le_e7">
</widget>
</item>
<item row="8" column="2" alignment="Qt::AlignHCenter|Qt::AlignVCenter">
<widget class="QLineEdit" name="le_g3">
等々。「a1、a2、a3 など」の規則に従う QLineEdit オブジェクトがあります。しかし、それらは上記のコードのように順不同に見えます。