• 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
    版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    别以为真懂Openstack: 虚拟机创建的50个步骤和100个知识点(3)
    别以为真懂Openstack: 虚拟机创建的50个步骤和100个知识点(2)
    别以为真懂Openstack: 虚拟机创建的50个步骤和100个知识点(1)
    High Availability手册(3): 配置
    High Availability手册(2): 架构
    High Availability手册(1): 环境
    Data Center(5): 实例
    Data Center手册(4):设计
    Data Center手册(3): Load Balancer
    了解美杜莎(Medusa)
  • 原文地址:https://www.cnblogs.com/findumars/p/9818464.html
Copyright © 2020-2023  润新知