1. 程式人生 > >QFileDialog關於選擇檔案對話方塊中的幾個訊號的說明(currentChanged,directoryEntered,fileSelected,filterSelected)

QFileDialog關於選擇檔案對話方塊中的幾個訊號的說明(currentChanged,directoryEntered,fileSelected,filterSelected)

QFileDialog關於選擇檔案對話方塊中的幾個訊號 例項:

openFile::openFile(QWidget *parent) :
QWidget(parent),
ui(new Ui::openFile)
{
ui->setupUi(this);
fDialog = new QFileDialog(this);
fDialog->setFileMode(QFileDialog::Directory);
connect(fDialog,SIGNAL(currentChanged ( const QString & )),this,SLOT(cc(const QString & )));
connect(fDialog,SIGNAL(directoryEntered ( const QString &)),this,SLOT(de(const QString & )));
connect(fDialog,SIGNAL(fileSelected ( const QString & )),this,SLOT(fs(const QString & )));
connect(fDialog,SIGNAL(filesSelected ( const QStringList & )),this,SLOT(fss(const QStringList & )));
connect(fDialog,SIGNAL(filterSelected ( const QString &)),this,SLOT(frs(const QString & )));

fDialog->hide();
}

openFile::~openFile()
{
delete ui;
}

void openFile::on_pushButton_clicked()
{
fDialog->show();

}

void openFile::cc(const QString & path)
{
//在視窗中選擇資料夾會出發該訊號
qDebug() <<"cc";
qDebug() << path;
}
void openFile::de(const QString & directory){
//選擇資料夾進入時時觸發 setFileMode(QFileDialog::Directory);
qDebug() <<"de";
qDebug() << directory;
}
void openFile::fs(const QString & file){
//選中檔案點選open後會出發該訊號 至在開啟單一檔案時出發
qDebug() <<"fs";
qDebug() << file;
}

void openFile::fss(const QStringList & selected){
//選中檔案點選open後會出發該訊號 選擇單個或多個檔案時出發 setFileMode(QFileDialog::ExistingFiles);
qDebug() <<"fss";
qDebug() << selected;
}

void openFile::frs(const QString & filter){
qDebug() <<"frs";
qDebug() << filter;
}
如果要儲存一個檔案
需要設定這兩個屬性
fDialog->setFileMode(QFileDialog::AnyFile);
fDialog->setAcceptMode(QFileDialog::AcceptSave); //open按鈕就會顯示為save


void frmMain::on_pushButton_file_clicked()
{

QString file = QFileDialog::getOpenFileName(this, tr("Open File"),"",tr("(*.bin)"));
qDebug() << file;

……
這種方式的檔案選擇對話方塊是和系統保持一致的。


儲存檔案:

QString filePathName = QFileDialog::getSaveFileName(this,tr("Open Config"),defaultFileName,tr("*"));

if (!filePathName.isNull())
{
}
else
{

---------------------
作者:陽光檸檬_
來源:CSDN
原文:https://blog.csdn.net/liukang325/article/details/13768589
版權宣告:本文為博主原創文章,轉載請附上博文連結!