1. 程式人生 > >Qt檔案操作之——QFileDialog儲存檔案

Qt檔案操作之——QFileDialog儲存檔案

    QFileDialog m_QFileDialog;

    //!-- 得到原檔案的字尾名
    QString suffix_save = QFileInfo(FilePathName).suffix();
    //!--- 設定過濾匹配檔案格式
    QString setFilter = "office(*.doc *.docx *.xls *.xlsx *.ppt *.pptx);;image(*.jpg *.bmp);;txt(*.xml *.txt *.pdf);;(*.*);;";
    //!--- selectFilter為彈出對話方塊中的檔案格式,dirString為檔案路徑,這裡顯示檔名
    QString selectFilter,dirString;

    if( FilePathName.isEmpty() ) return;
    else dirString = QFileInfo(FilePathName).fileName();

    //!--- 判斷檔案字尾名以及檔案格式,看是否匹配,沒有做出相應操作
    if( !suffix_save.isEmpty() && setFilter.contains( selectFilter ) ) selectFilter = suffix_save.insert(0,"*.");
    if( !suffix_save.isEmpty() && !setFilter.contains( selectFilter ) ) selectFilter = "*.*";

    QString saveFileName = m_QFileDialog.getSaveFileName(this,"儲存檔案",dirString,setFilter,&selectFilter,
                              QFileDialog::ShowDirsOnly | QFileDialog::DontResolveSymlinks);

    if( saveFileName.isEmpty() ) return;

    QFile file(saveFileName);

    if( selectFilter.compare("*.*") ) saveFileName = saveFileName+selectFilter.remove(0,1);

    //!--- 複製檔案
    bool copy_error =  file.copy( FilePathName,saveFileName );

    Q_UNUSED(copy_error);


相關推薦

Qt檔案操作——QFileDialog儲存檔案

QFileDialog m_QFileDialog; //!-- 得到原檔案的字尾名 QString suffix_save = QFileInfo(FilePathName).suffix(); //!--- 設定過濾匹配檔案格式

QTQT從零入門教程(五):影象檔案操作 [新建開啟儲存]

  前文已經講解了選單欄、工具欄、工作列的實現方法,下面我們對程式進行完善。實現功能為:為軟體新增“檔案”選單,並在下拉列表上新增”新建”、 ”開啟”、 ”儲存”、 ”另存為”、 ”關閉”,並在工具欄加上“新建”、“開啟”、“儲存”圖示。 程式碼 /

Android初試--Android中的檔案操作SDcard操作(2)

SDCARD:通俗的說,就像外接硬碟。 在模擬器中使用SDCard,你需要先建立一張SDCard卡(當然不是真的SDCard,只是映象檔案)。建立SDCard可以在Eclipse建立模擬器時隨同建立,也可以使用DOS命令進行建立,在DOS視窗中進入android SDK安裝路徑的tools

Android初試--Android中的檔案操作ROM操作(1)

RAM(Random Access Memory)隨機儲存器,在手機中稱為執行記憶體。通俗的說,就像電腦的記憶體。在斷電以後儲存在上面的資料會自動消失。 ROM(Read-Only Memory)只讀儲存器,存放手機韌體程式碼的儲存器,比如手機的作業系統、一些應用程式如遊戲等。通俗的說,就

C# 檔案操作程式碼段儲存

  C# 檔案操作大全 1.建立資料夾 //using System.IO; Directory.CreateDirectory(%%1); 2.建立檔案 //using System.IO; File.Create(%%1); 3.刪除檔案 //using System.

VS2017檔案操作使用fopen函式總結

fopen中mode引數 r, w, a, r+, w+, a+ 具體區別 r : 只能讀, 必須存在, 可在任意位置讀取 w : 只能寫, 可以不存在, 必會擦掉原有內容從頭寫 a : 只能寫, 可以不存在, 必不能修改原有內容, 只能在結尾追加寫, 檔案指標無效 r+ : 可讀可

Python小白學習路(十九)—【檔案操作步驟】【檔案操作模式】

一、檔案操作步驟 step1:開啟檔案,得到檔案控制代碼並賦值給一個變數step2:通過控制代碼對檔案進行操作step3:關閉檔案 舉例: a = open('hello world', 'r', encoding = 'utf-8') #開啟 ‘hello world’ 檔案,得到檔案控制

fortran檔案操作'append'; 'backspace'; 'endfile';

本次內容將講一下檔案操作的“高階技巧!” 例如我要讀取檔案的最後一行資料,一般來說可以直接將前n-1行read過去,再進行讀取 本文將介紹一種新的方法,程式碼如下 program main implicit none integer :: a op

C語言檔案操作fgets()

C語言檔案操作之fgets() 原創  2013年01月25日 11:57:00 標籤: C語言 / fgets... / 檔案操作函式 142460 &

c#檔案操作程式碼段儲存

1.建立資料夾 //using System.IO; Directory.CreateDirectory(%%1); 2.建立檔案 //using System.IO; File.Create(%%1); 3.刪除檔案 //using System.IO; File.

Linux C高階程式設計——檔案操作庫函式

Linux C高階程式設計——檔案操作之庫函式 宗旨:技術的學習是有限的,分享的精神是無限的 ——為什麼要設計標準I/O庫? 直接使用API進行檔案訪問時,需要考慮許多細節問題 例如:read、write時,緩衝區的大小該如何確定,才能使效率最優 標準I/O庫封裝了諸多

Linux C高階程式設計——檔案操作系統呼叫

Linux C高階程式設計檔案操作之系統呼叫 宗旨:技術的學習是有限的,分享的精神是無限的!         庫函式是一些完成特定功能的函式,一般由某個標準組織製作釋出,並形成一定的標準。使用庫函式編寫的函式一般可以應用於不同的平臺而不需要做任何修改,具有很好的可移植

C語言檔案操作----檔案的讀寫

當檔案按指定的工作方式開啟以後,就可以執行對檔案的讀和寫。下面按檔案的性質分類進行操作。針對文字檔案和二進位制檔案的不同性質,對文字檔案來說,可按字元讀寫或按字串讀寫;對二進位制檔案來說,可進行成塊的讀寫或格式化的讀寫。1. 讀寫字元    C提供fgetc和fputc函式對文字檔案進行字元的讀寫,其函式的原

c檔案操作位置指標設定函式fseek

fseek 原型:int fseek(FILE *stream, long offset, int fromwhere); 功能:重定位流(資料流/檔案)上的檔案內部位置指標 注意:不是定位檔案指標(

VC++檔案操作最全篇

      各種關於檔案的操作在程式設計中是十分常見,如果能對其各種操作都瞭如指掌,就可以根據實際情況找到最佳的解決方案,從而在較短的時間內編寫出高效的程式碼,因而熟練的掌握檔案操作是十分重要的。本文將對Visual C++中有關檔案操作進行全面的介紹,並對在檔案操作中經常遇到的一些疑難問題進行詳細的

python天天進步(2)--檔案操作遍歷目錄

Python的os模組,包含了普遍的作業系統功能,這裡主要學習與路徑相關的函式: os.listdir(dirname):列出dirname下的目錄和檔案 os.getcwd():獲得當前工作目錄 os.curdir:返回當前目錄('.') os.chdir(dirname

檔案操作:fstat、stat和lstat 區別

stat系統呼叫系列包括了fstat、stat和lstat,它們都是用來返回“相關檔案狀態資訊”的,三者的不同之處在於設定原始檔的方式不同。 1 首先隆重介紹的是一個非常重要的”VIP”人物,他是fstat, stat和lstat三者都要用到的一個結構體型別,名字叫做struct stat。可以說,沒有

Node.js本地檔案操作檔案拷貝與目錄遍歷的方法

檔案拷貝NodeJS 提供了基本的檔案操作 API,但是像檔案拷貝這種高階功能就沒有提供,因此我們先拿檔案拷貝程式練手。與 copy 命令類似,我們的程式需要能接受原始檔路徑與目標檔案路徑兩個引數。 小檔案拷貝我們使用 NodeJS 內建的 fs 模組簡單實現這個程式如下。

Qt入門-開啟和儲存檔案對話方塊

使用QFileDialog可以方便地呼叫當前系統的檔案對話方塊: (1)檔案開啟對話方塊 QString getOpenFileName ( QWidget * parent = 0, const Q

Qt中開啟檔案對話方塊和儲存檔案對話方塊

主要是用QFileDialog的兩個靜態方法 1、開啟對話方塊 QString getOpenFileName(QWidget * parent = 0, const QString & caption = QString(), const QStr