2017-10-08 77 views
1

刪除模型我們通常設置視圖的模型在Qt的是這樣的: view->setModel(model);Qt的:從視圖中

但有什麼辦法可以去除視圖模式?我的意思是字面上留下一個空的觀點就像是剛剛創建,而且沒有設定其還沒有任何模型。

如果你問我一個理由我的願望,我有一個非常相似的情況下,在這傢伙的post。而當第一視圖沒有選擇或爲空/無效/不管,我想使第二視圖顯示幾乎一無所有:沒有標題,欄,垃圾數據。除去視圖的模式似乎是在這種情況下,相當合理。

我已經嘗試了骯髒的黑客: *view = QTableView(); 但Qt的照顧對這種邪惡的事搞得operator=私人。

+0

不['視圖 - >則setModel(nullptr)'](http://doc.qt.io/qt-5/qabstractitemview.html#setModel)不工作? –

回答

3

QAbstractItemView::setModel()來源:

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

看起來,如果你傳遞一個空指針一樣,它會在內部使用一些虛擬的模型備用。所以,空指針的支持,這就是去「未設置」當前模型​​的一種有效方式。