如何在QTreeView(Qt,QML)中设置各种行高?

时间:2016-10-31 09:51:56

标签: c++ qt treeview qml

在我的QML中,我有一个TreeView:

TreeView {
                ...

                model: mProductions.getModel()

                TableViewColumn {
                    role: "name"
                    title: "Name"
                    width: root.width/4
                }

                TableViewColumn {
                    role: "image"
                    title: "Image"
                    width: root.width/4
                }
}

如果项目有图像,我需要更高的行高。 所以我尝试在我的数据方法中使用Qt :: SizeHintRole作为项目。但QML并没有要求这个角色。

QVariant Productions::TreeItem::data(int role) const {
    switch(role) {
    case NameRole:
        return QVariant(this->name);
    ...
    case Qt::SizeHintRole:
        return QSize(..., ...);
    ...
    default:
        return QVariant();
    }
}

那么如何强制QML请求此角色?或者还有另一种设置不同行高的方法吗? QML中的rowDelegate对我没用。

0 个答案:

没有答案