有的時候我們QTreeView的裏面數據已經改變,但是界面卻還是顯示原來的數據,有的人會說用update函數,但是這個函數沒啥用,
經過半天的摸索,發現了這三種方法。
第一種:使用QTreeView的
doItemsLayout()
但是這個函數最好是在主線程中調用,因爲這個函數裏面是喲你定時器,在非主線程中調用會報警告。
第二種:使用模型/視圖框架,繼承QAbstractItemModel,然後就可以使用下面兩個函數來刷新。
beginResetModel();
endResetModel();
第三種:下面這個方法是最好的
QAbstractItemView::viewport()->update();