我有一个包含文字和图标的简单模型:
QStandardItemModel xmlModel;
QStandardItem * item1 = new QStandardItem( QIcon("qrc:/icons/resources/new.png"), "New" ) ;
QStandardItem * item2 = new QStandardItem( QIcon("qrc:/icons/resources/open.png"), "Open" ) ;
QStandardItem * item3 = new QStandardItem( QIcon("qrc:/icons/resources/save.png"), "Save" ) ;
xmlModel.appendRow( item1 );
xmlModel.appendRow( item2 );
xmlModel.appendRow( item3 );
我正在使用QML来展示这个模型。现在我know我可以使用'display'来显示文字和'decoration'来显示图标但是图标没有显示出来。
我的QML委托代码如下:
Item {
id: root
width: parent.width
height: 30
Image {
id: image
source: decoration
fillMode: Image.PreserveAspectFit
height: parent.height
}
Text {
anchors.left: image.right
anchors.leftMargin: 10
//text: nameRole
text: display
//verticalAlignment: Text.AlignVCenter
anchors.verticalCenter: image.verticalCenter
}
MouseArea {
anchors.fill: parent
onClicked: {
console.log("current index is " + index );
root.ListView.view.currentIndex = index
root.forceActiveFocus()
}
}
}
我没有在构造函数中正确设置QIcon
吗?