QListWidget拖拽数据格式
某些时候会需要启用列表控件的拖拽功能,如果你不知道如何从列表控件的拖拽对象中提取拖拽的数据,这篇文章将会很有用。下面是取从QListWidget控件拖拽出来的数据的方法:
void MObjectView::dropEvent(QDropEvent *event) { const QMimeData* data = event->mimeData(); QStringList strs = data->formats(); QByteArray arrs = data->data(strs[0]); QDataStream ds(&arrs, QIODevice::ReadOnly); while (!ds.atEnd()) { int row, col; QMap<int, QVariant> roleDataMap; ds >> row >> col >> roleDataMap; /* roleDataMap里就是数据 */ /* 如roleDataMap.value(Qt::DisplayRole).toString()就是显示文本 */ } event->accept(); }
上述代码中的MObjectView是拖拽松开的控件。本文非常短,仅用于记录方法防止我忘记。