2013-02-03 55 views
0

我正在使用QtCreator,並且我在一個小部件中使用LineEdit對象創建了一個GUI。當我想返回一個widget的對象,我呼籲:如何更改Qt中分配的QtObject的順序?

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對象。但它們看起來不像上面的代碼那樣。

回答

0

您可以排序的QList,使用qSort並提供自己的每種不超過功能(仿函數或lambda),將在整理你需要的順序列表。