2013-02-08 61 views
0

我有一個使用ListModel的QML GridView。每個ListElement只是定義了代表讀取的顏色,並創建一個彩色正方形。QML通過GridView中的委託項迭代

有沒有辦法迭代委託實例並調用委託中定義的函數?

+0

QML視圖可能隨時創建和銷燬對象(基本上它們只能保存視口中的對象)。因此,你想要完成什麼?可能還有另一種方法可以做到這一點。 –

+0

正如下面在對Deadron的帖子的評論中所提到的,我通過將來自每個委託實例的插槽連接到來自父容器對象的信號,設法實現了我期望的功能。 – russdot

回答

1

恐怕這個問題在細節上有點亮。如果你可以多解釋一下你正在嘗試做什麼,這可能會有所幫助。爲什麼你想遍歷代理和調用它們的函數?請記住,視圖用於爲列表模型中的每個元素呈現QML,其中模型僅提供數據,但它們不用於執行函數。因爲它是你甚至不能分配一個ListModel元素的功能,因爲QML(我上次檢查)不支持分配函數屬性。

+0

經過重新審視這個問題的措辭後,我不得不同意,它的佈局很差。我不熟悉QML中的信號/插槽連接是如何工作的,我可以通過將每個Delegate實例中的插槽連接到其父容器中的信號來實現此功能。 – russdot