有的时候我们QTreeView的里面数据已经改变,但是界面却还是显示原来的数据,有的人会说用update函数,但是这个函数没啥用,
经过半天的摸索,发现了这三种方法。
第一种:使用QTreeView的
doItemsLayout()
但是这个函数最好是在主线程中调用,因为这个函数里面是哟你定时器,在非主线程中调用会报警告。
第二种:使用模型/视图框架,继承QAbstractItemModel,然后就可以使用下面两个函数来刷新。
beginResetModel();
endResetModel();
第三种:下面这个方法是最好的
QAbstractItemView::viewport()->update();