跟我一起學QT_QT標準對話方塊_檔案對話方塊
阿新 • • 發佈:2018-12-18
標準對話方塊
QT的標準對話方塊分為以下幾種
- 顏色對話方塊
- 檔案對話方塊
- 字型對話方塊
- 輸入對話方塊
- 訊息對話方塊
- 進度對話方塊
- 錯誤資訊對話方塊
嚮導對話方塊
檔案對話方塊
QT中的檔案對話方塊QFileDialog
類提供一個允許使用者選擇檔案或者資料夾的對話方塊。我們繼續在上一篇跟我一起學QT_QT標準對話方塊_顏色選擇框的基礎上繼續修改
首先我們在UI設計器上再新增一個QpushButton按鈕,然後為這個按鈕的clicked
訊號建立對應的槽函式。
在mydialog.cpp
中新增#include <QFileDialog>
標頭檔案,然後實現槽函式
這裡我們先使用QFileDialog
getOpenFileName
這個靜態函式的原型如下:
[static] QString QFileDialog::getOpenFileName(QWidget *parent = Q_NULLPTR, const QString &caption = QString(), const QString &dir = QString(), const QString &filter = QString(), QString *selectedFilter = Q_NULLPTR, Options options = Options())
這個函式的大致用途就是它返回使用者選擇的現有檔案。如果使用者按下Cancel,它將返回一個空字串。
下面對這個函式的幾個引數簡單介紹下
parent
caption
對話方塊的標題dir
對話方塊初始選擇的根目錄filter
過濾器使用';;'
分割示例如下"Images (*.png *.xpm *.jpg);;Text files (*.txt);;XML files (*.xml)"
下面我們來實現下程式碼如下
- 在建構函式中用
connect
連線檔案對話方塊按鈕的訊號和槽函式
//檔案對話方塊訊號槽連線 connect(ui->fliedlg,&QPushButton::clicked,this,&MyDialog::file_slots_func);
- 實現file_slots_func的槽函式
void MyDialog::file_slots_func()
{
QString fileName = QFileDialog::getOpenFileName(this,"檔案選擇對話方塊","D:\\","All File (*.*);;Image (*.png *.jpg *.bmp)");
qDebug()<<"select color FileName:"<<fileName<<endl;
}
CTRL+b
編譯 CTRL+r
執行執行結果如圖:
檔案對話方塊的簡單使用就先介紹到這裡