我有一个QTableView
连接到一个QAbstractTableModel
。
该模型与QtConcurrent::map
一起用于为应用程序(复制文件)创建线程
我子类化QStyledItemDelegate
以在一个tableviews单元格中显示QStyleOptionProgressBar
,其想法是通过模型更新进度条。它可以工作,但是从0到100%一次完成,不是很顺利。
QAbstractTableModel::setData()
在我的"复制循环"中被调用,但似乎QAbstractTableModel::dataChanged()
仅在循环结束时触发。不管我做什么。
这可能是一个错误的方法,但我不知道如何从线程访问表视图中的给定进度条。
您需要在子类化QAbstractTableModel
的表模型类中自己实现setData()。基类实现什么也不做,返回false
。如果数据成功设置,您负责发出dataChanged()
信号。