QT/QML:当模型没有数据时如何显示消息

QT/QML:当模型没有数据时如何显示消息,qt,listview,model,qml,Qt,Listview,Model,Qml,我实现了一个简单的模型视图应用程序,当模型中没有数据时,ListView只是一个空白表单。我想知道如何显示一条方便的消息,告知模型没有数据。谢谢。将列表视图和文本元素重叠在一起。根据model.count将Visibility设置为true或false ListView{ visible : if(model.count > 0) true;else false; } Text{ visible : if(model.count > 0) false;else t

我实现了一个简单的模型视图应用程序,当模型中没有数据时,ListView只是一个空白表单。我想知道如何显示一条方便的消息,告知模型没有数据。谢谢。

将列表视图和文本元素重叠在一起。根据model.count将Visibility设置为true或false

ListView{
     visible : if(model.count > 0) true;else false;
}
Text{
     visible : if(model.count > 0) false;else true;
}

至少使用QtQuick2,您可以执行以下操作:

import QtQuick 2.9
import QtQuick.Controls 2.2

ListView {
    model: ...
    clip: true

    Label {
        anchors.fill: parent
        horizontalAlignment: Qt.AlignHCenter
        verticalAlignment: Qt.AlignVCenter
        visible: parent.count == 0
        text: qsTr("Nothing to show yet!")
        font.bold: true
    }
}

您好,我收到了这个错误:QDeclarativeExpression:Expression“(函数$visible(){return listView.model.count>0?false:true})”依赖于不可通知的属性:QDeclarativeFolderListModel::count,并且它不起作用。然后您可以修复QDeclarativeFolderListModel,使其count属性具有通知信号,或者尝试使用listView.count,这是可以通知的。