qml 動態建立TableView

2021-08-09 02:03:12 字數 1349 閱讀 8641

在qml應用開發中,經常會用到tableview來顯示資料,而有時**又不是固定的,需要根據不同的情況來變換**的標題和內容。

本次部落格將會介紹怎樣在qml中動態的建立tableview。

首先建立乙個檔案datashowtable.qml,首字母要大寫,這些大家應該都知道吧。

import qtquick 2.7

import qtquick.controls 1.4

tableview //新增自己喜歡的**,這個就不用說了吧

headerdelegate: headerdele; //表頭委託

rowdelegate: rowdele; //行委託

model: listmodel{}

//定義表頭的委託

component}}

//定義行的委託

component

}//更新**標題列高度和role

function updatecolumn2table(arraydata)

var arraytitle = arraydata[0]; //標題陣列

var arraywidth = arraydata[1]; //寬度陣列

var arrayroles = arraydata[2]; //role陣列

if(arraytitle.length != arraywidth.length || arraytitle.length > arrayroles.length)

tableview.model.clear(); //先將model裡面的資料清空避免在更新的列裡面有相同的role直接顯示

var i,str,count = tableview.columncount;

var sum = new number(0);

//求出長度累加和以便於按比例分配列寬

for(i =0;i

這裡還是把itemdelegate的**也貼出來,讓大家清楚全過程。

import qtquick 2.7

import qtquick.controls 1.4

rectangle

}

委託也很簡單,乙個選擇變化的矩形和乙個內容顯示,這樣就可以動態的使用了。

下面是主介面中的呼叫

item 

}

重點在於要利用tableview提供的函式addcolumn()來新增,而建立的話則使用createqmlobject()。以下為效果圖,表中資料未在上面

**給出

qml動態建立元件物件

qml動態建立元件物件,使用分離js檔案,動態銷毀物件,屬性別名等。main.cpp include int main int argc,char argv main.qml import qtquick 2.7 import qtquick.controls 2.0 import qtquick....

QML 動態元素 動畫

介紹動畫被用於屬性的改變。乙個動畫定義了屬性值改變的曲線,將乙個屬性 值變化從乙個值過渡到另乙個值。其中值包括 x,y 座標,顏色,旋轉 角度等 動畫是由一連串的目標屬性活動定義的,平緩的曲線演算法能夠 引發乙個定義時間內屬性的持續變化。所有在qtquick中的動畫都由同一 個計時器來控制,因此它們...

iOS開發 建立乙個簡單的TableView

1,建立工程 在workspace中新增乙個工程 table 建立完成後,設定此專案為當前除錯 執行工程 product scheme 2,在viewcontroller中新增tableview 開啟main.storyboard,在右下角的控制項視窗中拖動table view到viewcontro...