国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Qt 打開文件列表選擇文件,實現(xiàn)拖拽方式打開文件

這篇具有很好參考價值的文章主要介紹了Qt 打開文件列表選擇文件,實現(xiàn)拖拽方式打開文件。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1. 實現(xiàn)打開文件列表選擇文件

1.1. 創(chuàng)建 Qt 工程,并添加幾個簡單控件

這里筆者選用的是 QMainWindow,創(chuàng)建好工程后在 ui 界面設計中添加 QLineEdit、QPushBtton至少這兩個控件,如下圖擺放。

Qt 打開文件列表選擇文件,實現(xiàn)拖拽方式打開文件,Qt,qt,開發(fā)語言

1.2. 頭文件中添加相關(guān)操作

mainwindow.h 中添加所要用到的所有頭文件。

#include <QString>
#include <QFileDialog>
#include <QStandardPaths>

并聲明一個槽函數(shù)用于打開文件瀏覽器。

private slots:
    void showFiles(void);	// 用于打開文件瀏覽器

public:
    void initUi(void);		// 初始化 UI 界面
    
private:
    QString *fileName;		// 用于保存文件路徑

1.3. 在 cpp 文件中實現(xiàn)

initUi 函數(shù),實現(xiàn)如下:

void ExcelProcess::initUi()
{
    this->ui->Lab_FilePath->setText("File Path:");
    this->ui->PBtn_View->setText("Open File");

    connect(this->ui->PBtn_View, SIGNAL(clicked()), this, SLOT(showFiles()));

}

showFiles 槽函數(shù),實現(xiàn)如下:

void ExcelProcess::showFiles()
{
    QString str = QFileDialog::getOpenFileName(this, "File Explorer", QStandardPaths::writableLocation(QStandardPaths::DocumentsLocation),"Excel 文件(*.xls *.xlsx);;All file(*.*)");
    this->ui->LEdit_FilePath->setText(str.toUtf8());
    *this->fileName = this->ui->LEdit_FilePath->text();

    qDebug() << *this->fileName << "\n";
}

1.4. 效果演示

完成如上函數(shù),并在構(gòu)造函數(shù)中調(diào)用即可,運行查看效果。

Qt 打開文件列表選擇文件,實現(xiàn)拖拽方式打開文件,Qt,qt,開發(fā)語言

2. 實現(xiàn)文件拖拽的方式加載

我們常常見到涉及文件選擇的軟件,他們都會支持拖拽的方式選擇,由于這樣的文件選取方式高度的人性化,因此大多數(shù)軟件都會提供這樣的功能。下面就來看看用 Qt 如何實現(xiàn)吧。

2.1. 添加相關(guān)頭文件,并聲明相關(guān)操作函數(shù)

添加頭文件:

#include <QDragEnterEvent>
#include <QDropEvent>
#include <QMimeData>

這里是通過重寫下面兩個函數(shù)來實現(xiàn)文件拖拽功能:

protected:
    void dragEnterEvent(QDragEnterEvent *event);    // 拖動進入事件

    void dropEvent(QDropEvent *event);      // 放下事件

2.2. 在 cpp 文件中實現(xiàn)其具體功能

在構(gòu)造函數(shù)中添加如下代碼:

this->setAcceptDrops(true);     // 設置主界面接收拖動進來的文件

拖動函數(shù)重寫:

void ExcelProcess::dragEnterEvent(QDragEnterEvent *event)
{
	// 這里對拖拽文件進行篩選,僅支持 xls 或 xlsx 文件,用 compara 函數(shù)比較文件后綴
    if ((!event->mimeData()->urls()[0].fileName().right(3).compare("xls")) || (!event->mimeData()->urls()[0].fileName().right(4).compare("xlsx"))) {
        event->acceptProposedAction();
    } else {
        event->ignore();	// 若非這兩種文件則不接受鼠標事件
    }

    return ;
}

void ExcelProcess::dropEvent(QDropEvent *event)
{
    const QMimeData *qm = event->mimeData();
    *this->fileName = qm->urls()[0].toLocalFile();  // 獲取拖入的文件名
    this->ui->LEdit_FilePath->setText(*this->fileName);

    this->movie_01->stop();
    this->movie_01->setFileName(":/bk/pic/bk_02.gif");
    this->movie_01->start();

    return ;
}

2.3. 效果演示

完成如上函數(shù),運行查看效果。

Qt 打開文件列表選擇文件,實現(xiàn)拖拽方式打開文件,Qt,qt,開發(fā)語言文章來源地址http://www.zghlxwxcb.cn/news/detail-681191.html

#完

到了這里,關(guān)于Qt 打開文件列表選擇文件,實現(xiàn)拖拽方式打開文件的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務器費用

相關(guān)文章

  • qt 窗口實現(xiàn)打開文件夾瀏覽資源(純代碼實現(xiàn),后附代碼)

    qt 窗口實現(xiàn)打開文件夾瀏覽資源(純代碼實現(xiàn),后附代碼)

    ?新建 widget 項目可參考 QT入門初學者——如何新建一個工程項目(詳細)_guuuuug的博客-CSDN博客_qt新建工程 ? 實現(xiàn)界面,點擊瀏覽會打開文件夾 選中文件,窗口顯示文件名,文件路徑 過長的文字會在最后顯示...,鼠標懸浮在文字欄會顯示全部文字。 點擊右下角打開可以實現(xiàn)打

    2024年02月11日
    瀏覽(18)
  • Qt雙擊某一文件通過自己實現(xiàn)的程序打開,并加載文件顯示

    Qt雙擊某一文件通過自己實現(xiàn)的程序打開,并加載文件顯示

    簡述 在Windows系統(tǒng)中,雙擊某類擴展名的文件,通過自己實現(xiàn)的程序打開文件,并正確加載及顯示文件。有兩種方式可以到達這個目的。 對于系統(tǒng)不知道的擴展名的文件,第一次打開時,需要自行設置打開方式。 設置流程: 右鍵或雙擊文件-打開方式,彈出以下界面 點擊“在

    2024年02月11日
    瀏覽(22)
  • Qt —— 編譯Qt5版本QFTP庫,并實現(xiàn)連接服務、獲取列表、上傳、下載、刪除文件等操作(附源碼、附基于Qt5編譯好的QFTP庫)

    Qt —— 編譯Qt5版本QFTP庫,并實現(xiàn)連接服務、獲取列表、上傳、下載、刪除文件等操作(附源碼、附基于Qt5編譯好的QFTP庫)

    示例效果1 ? 示例效果2 ? 介紹 ?????QFTP是Qt4的庫,Qt5改用了QNetworkAccessManager來代替。但是Qt5提供的QNetworkAccessManager僅支持FTP的上傳和下載,所以只能 將QFTP庫編譯為Qt5的庫來進行調(diào)用。 ?????QFTP在Github的下載地址:https://github.com/qt/qtftp ? 客戶端源碼生成的rele

    2024年01月20日
    瀏覽(96)
  • Qt Designer如何安裝,打開方式

    Qt Designer 分為PyQt5 Qt Designer、PySide6 Qt Designer,下面分別介紹各自的安裝方式和打開方式 首先,檢查是否安裝了python,使用cmd打開命令行窗口,輸入: 若出現(xiàn)python的版本號,則已安裝;若沒有安裝,可以直接官網(wǎng)下載 第1種.PyQt5 Qt Designer 依次在命令行窗口輸入: 即可安裝PyQ

    2024年02月02日
    瀏覽(22)
  • Qt拖拽事件簡單實現(xiàn)

    Qt拖拽事件簡單實現(xiàn)

    重寫resizeEvent(這個按需重寫)、dragEnterEvent(拖拽事件函數(shù))、dropEvent(放下事件函數(shù)),可以將本地圖片拖拽到label標簽中 ?

    2024年01月20日
    瀏覽(19)
  • 個人實現(xiàn)的QT拼圖游戲(開源),QT拖拽事件詳解

    個人實現(xiàn)的QT拼圖游戲(開源),QT拖拽事件詳解

    效果圖 引言 在學習QT demo時,發(fā)現(xiàn)有一個拼圖demo,介紹拖拽事件的。以此為藍本加了 億點 修飾,就誕生了這個游戲。 玩法 游戲為拼圖游戲,分為倆種模式(闖關(guān)與休閑)。 闖關(guān)模式:在規(guī)定的時間內(nèi)完成拼圖,共有四關(guān),有三種難度,每種難度所需的時間不一致。 休閑模

    2024年01月20日
    瀏覽(21)
  • CloudCompare 二次開發(fā)(6)——插件中拖拽添加Qt窗口(區(qū)域生長算法為例)

    CloudCompare 二次開發(fā)(6)——插件中拖拽添加Qt窗口(區(qū)域生長算法為例)

    本文由CSDN點云俠原創(chuàng),原文鏈接。爬蟲網(wǎng)站自重。 ??手動拖拽的方式搭建Qt對話框界面的制作流程,以PCL中的點云區(qū)域生長算法為例進行制作。 1、將 ....pluginsexample 路徑下的 ExamplePlugin 復制一份并修改名字為 CCPointCloudProcess 。 2、創(chuàng)建窗口UI文件 使用任意Qt工程新建對話

    2023年04月11日
    瀏覽(23)
  • Qt(八)文本文件(打開、修改與保存)

    Qt(八)文本文件(打開、修改與保存)

    演示文本文件的打開,修改與保存。主要是熟悉相應的類代碼使用。 一、UI布局 mainwindow.h mainwindow.cpp 二、效果演示

    2024年02月14日
    瀏覽(22)
  • C++ Qt 開發(fā):ListWidget列表框組件

    C++ Qt 開發(fā):ListWidget列表框組件

    Qt 是一個跨平臺C++圖形界面開發(fā)庫,利用Qt可以快速開發(fā)跨平臺窗體應用程序,在Qt中我們可以通過拖拽的方式將不同組件放到指定的位置,實現(xiàn)圖形化開發(fā)極大的方便了開發(fā)效率,本章將重點介紹 ListWidget 列表框組件的常用方法及靈活運用。 QListWidget 是 Qt 中的一個列表框組

    2024年02月04日
    瀏覽(23)
  • VS中Qt項目不能打開ui文件

    VS中Qt項目不能打開ui文件

    在VS中創(chuàng)建的Qt項目,若不能打開ui文件,或者彈出以下提示的:其本質(zhì)是找不到designer.exe的路徑 那么需要手動添加designer.exe的路徑 第一步:右鍵點擊打不開的ui文件,選擇打開方式 第二步:點擊添加 第三步:點擊右側(cè)瀏覽查找對應的Qt編譯器安裝路徑的designer,然后點擊確定

    2024年02月13日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包