[英]QtQuick 1.1 Floating Rectangles
我在嵌入式Linux Plattform上使用QtQuick 1.1和Qt 4.8。 我有某種桌面,其中動態創建的矩形排列在網格中-該網格位於Flickable內部。
Flickable{
anchors.fill: parent
contentHeight: homegrid.height
flickableDirection: Flickable.VerticalFlick
clip:true
Grid{
anchors.left: parent.left
anchors.top: parent.top
columns: 4
flow: GridView.LeftToRight
id: homegrid
//new items get pushed to this grid
}
}
看起來像這樣:
當我再創建2個項目時,我將它們推到網格的末端,如下所示:
泰銖是我目前的狀態。 但是現在我需要在此網格中獲得類別,並且我需要能夠將新項目推送到每個類別。 應該看起來像:
在紅色類別中添加了兩項之后:
如何將容器排列在網格中,使容器在每一行的末尾自動斷開?
解:
GridView{ model: myDesktopModel delegate: HomeLinkeDelegate { id: homeLinkDelegate } }
QList<QObject*> objectList;
列表可以排序(按顏色)。
viewer->rootContext()->setContextProperty("myDesktopModel",QVariant::fromValue(this->objectList));
修改列表后,必須重新注冊-刷新GridView。
有關GridView的更多信息: http : //doc.qt.io/qt-4.8/qml-gridview.html#model-prop
有關基於QObjectList的模型的詳細信息http://doc.qt.io/qt-4.8/qdeclarativemodels.html#qobjectlist-based-model
據我所知,您不能從QML中選擇項目在Grid
的位置。 您最好使用GridView
並創建自己的自定義QAbstractItemModel
以便可以選擇在模型中的正確索引處插入項目。 或者,如@GrecKo所述,使用ListModel
並調用insert()
函數。
如果最終選擇了QAbstractItemModel
方法,請參閱將C ++模型與Qt快速視圖一起使用以獲取更多信息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.