2011-12-02 54 views
0

如果我通過未通過代理連接到視圖的模型刪除行,則刪除是正確的。只要插入代理模型,刪除的行的內容將被刪除,但行保留。任何想法爲什麼,以及如何解決它?
最奇怪的是,這是第一次,因爲它只有當我試圖刪除第二行時,纔會發生這種情況。在我的代理模型中,數據fnc只是一個包裝:刪除一行後留空行

QVariant File_List_Proxy::data(const QModelIndex &proxyIndex, int role) const 
{ 
    qDebug() << "Proxy::data index: " << proxyIndex; 
    //qDebug() << "Model::data index data: " <<index.data(); 
    return sourceModel()->data(mapFromSource(proxyIndex),role); 

} 

回答

1

我在插入時面臨類似的行爲。空行,只有第二次。

如果您的視圖isSortingEnabled()爲true,請關閉它,然後再編輯模型,刪除或添加內容。奇怪的事情可能會發生,否則,如果你引用模型中的一些座標,那可能會突然變得不正確。

+0

沒有任何叫做isSortingEnabled的fnc。 – user336359

+0

bool \t {QTableView | TableView} :: isSortingEnabled()const。我的意思是這個功能。它被放置在你的視圖類中,當你修改DisplayRole中的某些數據時,它就會完成它的工作。 –

+0

它是一個QListView – user336359