如何使用QStandardItemModel和QML设置/显示图标

时间:2016-01-28 17:21:28

标签: c++ qt qml

我有一个包含文字和图标的简单模型:

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吗?

0 个答案:

没有答案