paint清除qtableview中的数据
paint clears the data in qtableview
我必须在 QTableView 中显示数据,我有一个包含数据的模型,但我将 QAbstractProxyModel 子类化以在我的模型中转置数据,此外,我只需要 QTableView 中的一个按钮,这可以通过子类化 QItemDelegate 来实现,
现在的问题是当我设置 view->setItemDelegate(MyItemDelegate)(for the pushbutton);
查看->setModel(myModel);查看->显示(); ... 在委托 QItemDelegate 时,我只找到我在 paint 方法中绘制的按钮。
我搜索并发现我需要 setModelData() 和 setEditorData() 来设置 myModel 的值。但我不知道它是否正确,如果它是如何设置数据()....提前感谢
PS:- 当我尝试 view->setModel(MyModel);查看->显示();没有 setItemDelegate...我可以在 QTableView 中看到数据...但是我在委托后看不到数据...所有这些痛苦只是为了 QTableView 中的 QPushButton
想法是添加QItemDelegate::paint(painter,option,index);在我派生的 class 的绘制方法中,我在其中绘制按钮。添加上面的代码行确保先绘制 table 然后我在绘制的 table.
上方绘制
所以,解决方案看起来像
void PushButtonDelegate::paint(QPainter *painter,const QStyleOptionViewItem &option, const QModelIndex &index) const
{
QItemDelegate::paint(画家,选项,索引);
//使用 drawcontrol() 绘制我的按钮;
}
如果我不这样做,我会丢失我的数据。当您了解绘画的工作原理但不容易实现时,这是显而易见的...花了我几个小时
我必须在 QTableView 中显示数据,我有一个包含数据的模型,但我将 QAbstractProxyModel 子类化以在我的模型中转置数据,此外,我只需要 QTableView 中的一个按钮,这可以通过子类化 QItemDelegate 来实现, 现在的问题是当我设置 view->setItemDelegate(MyItemDelegate)(for the pushbutton); 查看->setModel(myModel);查看->显示(); ... 在委托 QItemDelegate 时,我只找到我在 paint 方法中绘制的按钮。 我搜索并发现我需要 setModelData() 和 setEditorData() 来设置 myModel 的值。但我不知道它是否正确,如果它是如何设置数据()....提前感谢
PS:- 当我尝试 view->setModel(MyModel);查看->显示();没有 setItemDelegate...我可以在 QTableView 中看到数据...但是我在委托后看不到数据...所有这些痛苦只是为了 QTableView 中的 QPushButton
想法是添加QItemDelegate::paint(painter,option,index);在我派生的 class 的绘制方法中,我在其中绘制按钮。添加上面的代码行确保先绘制 table 然后我在绘制的 table.
上方绘制所以,解决方案看起来像
void PushButtonDelegate::paint(QPainter *painter,const QStyleOptionViewItem &option, const QModelIndex &index) const {
QItemDelegate::paint(画家,选项,索引);
//使用 drawcontrol() 绘制我的按钮;
}
如果我不这样做,我会丢失我的数据。当您了解绘画的工作原理但不容易实现时,这是显而易见的...花了我几个小时