2012-08-01 56 views
2

基本上我想刪除在我的模型中的所有行。我寧願使用removeRows(..)而不是clear(),因爲我想保留我的標題。QStandardItemModel :: removeRows()不會在我的使用情況下工作

我想我錯過了一些東西(docu here),我的代碼非常簡單:

int c = MainWindow::_viewDataModel->rowCount(); 
bool r = MainWindow::_viewDataModel->removeRows(0, c); 

c例如是4,但r始終是錯誤的。我試過0和1作爲第一個索引。使用clear()作品。上述代碼完全沒有影響。

+0

第一行是行0,所以這應該是傳遞給removeRows()如果你想刪除所有的第一個參數。但是你說你已經試過了。你有沒有嘗試刪除一兩行?即removeRows(0,1)只會刪除第一行。 – 2012-08-02 16:01:11

+0

一)爲指標0,這是我第一次的猜測,我都試過0/1沒有成功B)將僅嘗試刪除一行,併發布結果儘快 – 2012-08-02 18:07:22

+0

感謝西蒙,讓我在正確的軌道上 – 2012-08-06 10:21:29

回答

1

它現在的工作。經過一些測試我的調查結果:

  • RemoveRows是非常敏感的,因爲我指定刪除時模型中的行較少。
  • 在我的特殊情況下,它確實發生了,我想刪除5行的時候只有4行模型仍。因此,如果模型中只有3行,_viewDataModel->removeRows(0, 4);不會刪除任何內容。
  • 不像預想的那樣,根本沒有刪除發生。
  • 我的解決現在的問題是在刪除前徹底得到模型的大小。
相關問題