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是拖拽松开的控件。本文非常短,仅用于记录方法防止我忘记。

posted @ 2024-03-05 10:33  兜尼完  阅读(12)  评论(0编辑  收藏  举报