c – Qt从QTableWidget拖放到文件夹
发布时间:2020-12-16 07:21:56 所属栏目:百科 来源:网络整理
导读:我有自定义QTableWidget,我怎样才能将Drag Drop从表索引转移到文件夹?我有QList集合和归档文件. 此代码非常适合应用程序 void ArchiveQTableWidget::keyPressEvent(QKeyEvent *event){ if (event-key() == Qt::Key_Return currentRow() -1) enterClicked(cu
我有自定义QTableWidget,我怎样才能将Drag& Drop从表索引转移到文件夹?我有QList集合和归档文件.
此代码非常适合应用程序 void ArchiveQTableWidget::keyPressEvent(QKeyEvent *event) { if (event->key() == Qt::Key_Return && currentRow() > -1) enterClicked(currentIndex()); QTableWidget::keyPressEvent(event); } void ArchiveQTableWidget::dragEnterEvent(QDragEnterEvent *event) { if (event->mimeData()->hasUrls()) { event->acceptProposedAction(); } } void ArchiveQTableWidget::dragMoveEvent(QDragMoveEvent *event) { event->acceptProposedAction(); } void ArchiveQTableWidget::dragLeaveEvent(QDragLeaveEvent *event) { event->accept(); } void ArchiveQTableWidget::dropEvent(QDropEvent *event) { foreach (const QUrl &url,event->mimeData()->urls()) { QString fileName = url.toLocalFile(); qDebug() << "Dropped file:" << fileName; } } void ArchiveQTableWidget::startDrag(Qt::DropActions supportedActions) { StreamQMimeData mimeData = new StreamQMimeData; connect(mimeData,SIGNAL(dataRequested(QString)),this,SLOT(createData(QString)),Qt::DirectConnection); QDrag *drag = new QDrag(this); drag->setMimeData(mimeData); drag->exec(Qt::CopyAction); } 解决方法
您需要调用QMimeData :: setUrls(QList< QUrl>).
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容