QT/QML:模型没有数据时如何显示消息
Posted
技术标签:
【中文标题】QT/QML:模型没有数据时如何显示消息【英文标题】:QT/QML:How to show a message when the model has no data 【发布时间】:2011-06-14 10:56:21 【问题描述】:我实现了一个简单的模型视图应用程序,当模型中没有数据时,ListView 只是一个空白表单。我想知道如何显示一个方便的消息,告诉模型没有数据。谢谢。
【问题讨论】:
【参考方案1】:至少使用 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
【讨论】:
【参考方案2】:将列表视图和文本元素叠加在一起。根据 model.count 将可见性设置为 true 或 false
ListView
visible : if(model.count > 0) true;else false;
Text
visible : if(model.count > 0) false;else true;
【讨论】:
嗨,我收到此错误:QDeclarativeExpression: Expression "(function $visible() return listView.model.count >0 ? false:true )" 取决于非可通知属性:QDeclarativeFolderListModel: :count,它不起作用 然后你可以修复 QDeclarativeFolderListModel 让它的 count 属性有一个 NOTIFY 信号,或者尝试使用 listView.count,它是 NOTIFYable。以上是关于QT/QML:模型没有数据时如何显示消息的主要内容,如果未能解决你的问题,请参考以下文章
Qt/QML:如何根据验证器找到 TextInput 最大宽度