2013-11-26 55 views
1

我有一個複選框來切換QTableView的編輯狀態。QTableView切換setEditTriggers

void QPcbView::editToggle(bool editable) 
{ 
    if(editable) 
     this->setEditTriggers(QTableView::AllEditTriggers); 
    else 
     this->setEditTriggers(QTableView::NoEditTriggers); 
} 

這樣做可以工作,但視圖不會更新。這意味着當我從可編輯切換到不可編輯時,當前選中的單元格保持可編輯狀態,直到失去焦點。我該如何解決這個問題?我希望我的tableview立即反映編輯狀態。

回答

0

調用this-> update()可能會起作用。或者您可以檢查模型數據方法中的複選框值。

+0

嘗試this-> update()已無濟於事。 – cee

+0

您是否嘗試過updateEditorData(),updateEditorGeometries()或updateGeometries。同樣的模型也有重置方法或setModel,但效率非常低。 – HashSplat

+0

我是一個血腥的QtNoob,所以我沒有得到你的第二個提示。你能解釋還是顯示一個小例子?謝謝。 – cee