0
在我的項目中,我設法使用組件填充網格佈局中的一些按鈕。但我不能將樣式組件添加到按鈕。這是我的代碼:樣式表不能在qml中使用動態按鈕
Component {
id: itemgroup
Button { }
}
function addButton() {
for(var i = 0 ; i < 10 ; i++) {
var button = itemgroup.createObject (gridX, {
"id": "btnitemgroup",
"style": buttonstyle,
"text" :"hai"
});
}
}
你有什麼要求?你是否需要在每次調用函數時改變'buttonstyle',或者還有另一個原因,你爲什麼不設置你設置組件的風格?使用JS函數的原因是什麼,而不是使用'Repeater'作爲聲明方式? – derM
@derM沒有使用JS函數的具體原因。它們之間有什麼主要區別 –
JS創建的對象是垃圾回收。 GC往往是越野車,那些可以避免它們的人是有福的。此外,這是一個風格問題:QML是一種聲明性語言,所以良好的風格保持聲明性。此外,複雜的JS表達式是C++/QML/JS語言棧中最慢的部分,因爲它們沒有經過優化,並且在運行時被解析。 – derM