關於部落格
親子旅遊記錄
加一點點的心得感想
  • 82156

    累積人氣

  • 0

    今日人氣

    0

    追蹤人氣

Qt : 使用 QFileDialog 選取檔案

 啟動 Qt
《開始》→《程式集》→《Qt SDK》→《Qt Creator》

建立新專案
《File》→《New File or Project...》



1. 選擇 Widget Project
2. 選擇 Qt Gui Application


輸入專案名稱:MyQFileDialog
選擇資料夾位置:D:tempqt

Target Setup: 選《Desktop》
Class Information: Base Class 選QWidget

進入Qt Creator 編輯畫面

 

目前是程式編輯(Edit)模式畫面
滑鼠雙擊 widget.ui 進入設計(Design)模式畫面


目前是設計模式畫面
滑鼠雙擊左邊的Edit 進入程式編輯模式畫面

==== 現在要做的是視窗內容編排 =====
在設計模式下,將 Label, Line Edit, Push Button 三個物件從左邊拖曳至視窗中


三個物件初步擺放在視窗中

雙擊 Label 物件:將 TextLabel 改成 File Name:
雙擊 Push Button 物件:將 PushButton 改成 Choose File
點選 Line Edit 物件, 改變它的寬度
調整三個物位至適當位置
最後點選視窗物件, 將其縮放至適合大小


完成三個物件位置編排的視窗

我們的目的: 使用者點選《Choose File》會出現檔案對話視窗,
選擇完畢後按確定,檔名會出現在Line Edit 物件中

=== 現在要開始進行程式碼編寫 ===



點選《Choose File》按鈕,按滑鼠右鍵,選擇《Go to slot...


先選 clicked() 再選 OK

畫面自動進入程式編輯模式
而且電腦自動產生一個副程式(紅色虛線方框內)
副程式名為 void Widget::on_pushButton_clicked()
其實就是使用者滑鼠點選 push Button 按鈕後, 會執行哪些事

輸入以下程式

第18行:宣告變數FileName為一QString
第19行:啟動物件QFileDialog,並執行它的method getOpenFileName, 這個method 有兩個參數, 第一個填出現的視窗, 第二個填入對話視窗title的內容
第20行:如果使用者選擇的檔名不是空白
第22行:將檔案對話視窗選擇的檔名放入物件lineEdit之中

其實程式已經寫完了, 但是物件QFileDialog並沒有自動被宣告
其它三個視覺化物件Label, Line Edit, Push Button在拖曳過程中,電腦已自動宣告了

所以在程式編輯模式下,雙擊畫面左邊的 widget.h
插入一行資料

第五行插入 #include <QFileDialog>

程式寫完了,按《Build》→《Run》執行吧!

順利執行!

選擇任一檔案,再按《開啟》

檔名順利放在lineEdit物件中

大功告成,像不像 bcb?!

 
相簿設定
標籤設定
相簿狀態