如何更改Qt中已分配Qt对象的顺序?
我使用的是QtCreator,我在一个小部件中创建了一个带有LineEdit对象的GUI。当我想要返回小部件的对象时,我调用:如何更改Qt中已分配Qt对象的顺序?,qt,Qt,我使用的是QtCreator,我在一个小部件中创建了一个带有LineEdit对象的GUI。当我想要返回小部件的对象时,我调用: QList<QLineEdit *> boxes = ui->gridLayoutWidget->findChildren<QLineEdit *>(); QList-box=ui->gridLayoutWidget->findChildren(); 不幸的是,这些对象在QList中的顺序取决于它们在“ui”文件中的显示顺序。我怎
QList<QLineEdit *> boxes = ui->gridLayoutWidget->findChildren<QLineEdit *>();
QList-box=ui->gridLayoutWidget->findChildren();
不幸的是,这些对象在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">
等等。我有QLineEdit对象,它们遵循“a1、a2、a3等”的约定,但它们的顺序与上面的代码类似。您可以对QList进行排序,使用并提供自己的lessThan函数(functor或lambda),该函数将按您需要的顺序对列表进行排序