QT窗口拖拽功能簡單應用(處理dragEnterEvent和dropEvent事件,不同的事件有不同的信息,比如mimeData)


void dragEnterEvent(QDragEnterEvent *event);
void dropEvent(QDropEvent *event);

ui->lineEdit->setAcceptDrops(false);
this->setAcceptDrops(true);

// 拖拽處理函數
void MainWindow::dragEnterEvent(QDragEnterEvent *event)
{
#if 1
    // 判斷拖拽文件類型,文件名 接收該動作
    if (event->mimeData()->hasFormat("text/uri-list")) {
        event->acceptProposedAction();
    }
#endif
}

// 拖拽釋放處理函數
void MainWindow::dropEvent(QDropEvent *event)
{
#if 1
    QList<QUrl> urls = event->mimeData()->urls();
    if (urls.isEmpty()) {
        return;
    }

    QString fileName = urls.first().toLocalFile();
    if (fileName.isEmpty()) {
        return;
    }

    ui->lineEdit->setText(fileName);
#endif

}

http://blog.csdn.net/emdfans/article/details/45672679

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM