gpt4 book ai didi

c++ - Qt:从 View 中删除模型

转载 作者:太空狗 更新时间:2023-10-29 20:34:45 25 4
gpt4 key购买 nike

我们通常在 Qt 中设置 View 的模型是这样的:view->setModel(模型);

但是有什么方法可以从 View 中删除模型吗?我的意思是将 View 留空,就像它刚刚创建并且尚未为其设置任何模型一样。

如果你问我想要的原因,我的情况与这个人的 post 非常相似。 .当第一个 View 没有选择或者它是空的/无效的/任何东西时,我想让第二个 View 完全不显示任何内容:没有标题、列、垃圾数据。在这种情况下,从 View 中删除模型似乎是非常合理的。

我试过一个肮脏的技巧:*view = QTableView();但是 Qt 关心这些邪恶的事情并将 operator= 设为私有(private)。

最佳答案

来自 QAbstractItemView::setModel() 的来源:

d->model = (model ? model : QAbstractItemModelPrivate::staticEmptyModel());

看起来如果你传递一个空指针,它会在内部使用一些虚拟模型回退。因此支持空指针,这是“取消设置”当前模型​​的有效方法。

关于c++ - Qt:从 View 中删除模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46630185/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com