[英]Drag & Drop of hidden QStandardItemModel columns in QTreeView
在QTreeView中,我想通过拖放来复制行。 相应的拖放设置如下所示:
this->setDragDropMode( QAbstractItemView::DragDrop );
this->setDropIndicatorShown( true );
对于通过QTreeView可视化的基础QStandardItemModel的列,这可以很好地解决问题。 但是,并非所有模型的列都可视化(请参阅在QTreeView中隐藏QStandardItemModel的未来列 ):
void MyViewClass::columnCountChanged(int p_nOldCount , int p_nNewCount )
{
QTreeView::columnCountChanged( p_nOldCount, p_nNewCount );
for ( int i = MyViewClass::m_nColumnType; i < p_nNewCount; ++i )
{
setColumnHidden( i, true );
}
}
当不是所有的列都可以通过QTreeView可视化时,如何通过拖放到QTreeView中复制QStandardItemModel的整个行?
找到了解决方案:
必须继承/实现QAbstractModel函数:
mimeData需要对数据进行编码,而dropMimeData需要对数据进行解码,并且需要在拖动的数据中插入新的行/列。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.