我有一個語言選擇列表的委託。列表中的每個項目都包含一個圖標和文本。 我想將組件定義移動到不同的文件中,並提供當前由IMGDIR定義的字符串作爲屬性。如何將具有自定義屬性的組件移至QML中的單獨文件
只要下面的整個文本移動到一個單獨的文件LandDelegate.qml和包括它:
LangDelegate { id: langDlg }
不起作用。
下面是組件的聲明。
Component {
id: langDlg
Item {
id: wrapper
width: langView.width
height: langImg.height+10*2
Rectangle {
id: background
x: 2; y: 2; width: parent.width - x*2; height: parent.height - y*2
color: "lightgrey"
border.color: "orange"
radius: 5
}
states: State {
name: "Current"
when: wrapper.ListView.isCurrentItem
PropertyChanges { target: wrapper; x: 20 }
}
transitions: Transition {
NumberAnimation { properties: "x"; duration: 200 }
}
MouseArea {
anchors.fill: parent
hoverEnabled: true
onEntered: { wrapper.ListView.view.currentIndex = index; }
onClicked: { wrapper.ListView.view.currentIndex = index; langSelect.visible = false; docView.visible = true }
}
Row {
id: topLayout
x: 10; y: 10; height: langImg.height + 10*2; width: parent.width
spacing: 10
Image {
id: langImg
//width: 50; height: 50
source: IMGDIR+licon
}
Column {
width: background.width - langImg.width - 20; height: langImg.height
spacing: 5
Text {
text: lname
font.bold: true; font.pointSize: 16
}
}
}
}
}
「不工作」? – Mitch
@Mitch不,不起作用。無論如何,感謝您的貢獻:-) –