您的位置:首页 > 编程语言 > Qt开发

[QT]QFileDialog关于选择文件对话框中的几个信号的说明

2013-10-31 11:11 501 查看
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
{
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: