`
美丽的小岛
  • 浏览: 309407 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

QT 打开文件对话框总结

    博客分类:
  • QT
 
阅读更多
一: 
Qstring fileName = QFileDialog::getOpenFileName(this, tr("open file"), " ",  tr("Allfile(*.*);;mp3file(*.mp3)"));  
说明:这样就会产生一个对话框,和系统的资源管理器差不多的。返回的是你选择文件的 绝对路径。
参数1:父窗口
参数2:对话框的标题
参数3:默认的打开的位置,如”我的文档“等
参数4:文件的过滤器,注意文件类型之间用  ;;  分开
二:
QStringList    fileNameList;
QString fileName0; 
QFileDialog* fd = new QFileDialog(this);//创建对话框
fd->resize(240,320);    //设置显示的大小
fd->setFilter( "Allfile(*.*);;mp3file(*.mp3);;wmafile(*.wma);;wavefile(*.wav)"); //设置文件过滤器
fd->setViewMode(QFileDialog::List);  //设置浏览模式,有 列表(list) 模式和 详细信息(detail)两种方式
if ( fd->exec() == QDialog::Accepted )   //如果成功的执行
{
fileName0 = fd->selectedFiles();      //返回文件列表的名称
fileName = fileNameList[0];            //取第一个文件名
}
else
fd->close();

资料来源于Qt官方文档,我总结了其中常用到的部分:
一.  最简单的方法是调用静态函数来对话框获取文件:
  QString file = QFileDialog::getOpenFileName(
                    "/home/foxman",
                    "Images (*.png *.xpm *.jpg)",
                    this);
     这断代码可以建立一个取文件对话框,选择后OK将文件路径返回给file.
        
二. 一般的文件对话框的使用
  QFileDialog *fd=new QFileDialog(this,"file dlg",TRUE);
    if(fd->exec()==QFileDialog::Accepted) // ok
    {
       QString file=fd->selectedFile();
      qWarning(s);
    }
  1. 几个设定选项:
   a. 设定显示模式
     fd->setViewMode( QFileDialog::Detail );
     //Detail显示 详细的文件日期大小, List为一般情况
   b. 设定过滤器
      fd->setFilter( "Images (*.png *.xpm *.jpg)" );
     下面是设定多个过滤器,一定要以;;隔开(两个分号)
     QString filters="C file(*.c *.cpp *.h);;pic(*.png *.xpm)";
     fd->setFilters(filters);
  c.  设定对话框返回什么
    fd->setMode( QFileDialog::ExistingFile );
    AnyFile(一般用于save as对话框)
   ExistingFile存在的一个文件
   ExistingFiles存在的0个或多个文件(可用于选择多个文件)
   Directory返回目录
   DirectoryOnly返回目录(选取文件的时候只选中目录) 
 
  2. 返回值:
     a. 返回选择中的一个文件(夹)名字
        QString s=fd->selectedFile();
     b. 选取多个文件(一定要设定ExistingFiles模式)
         QStringList slist=fd->selectedFiles();   
               for(QStringList::Iterator it=slist.begin();it!=slist.end();it++) //迭代器
                 qWarning(*it);

附: 字符串列表QStringList使用方法
 1. 可以以append、+、<< 方式添加元素
    QStringList slist;
    slist.append("string1");
    slist += "string2";
    slist << "string3" << "string4";
2.迭代器取得每一个变量值
       for(QStringList::Iterator it=slist.begin();it!=slist.end();it++)  qWarning(*it);
3. 一种使用方式
    QString s = "Red\tGreen\tBlue";
     QStringList colors = QStringList::split( "\t", s );
     cout << colors.join( ", " ) << endl;
     输出:   Red, Green, Blue
 
 

Qt 打开文件对话框

1.打开单个文件

QString filename = QFileDialog::getOpenFileName(
   this,
   "Open Document",
   QDir::currentPath(),
   "Document files (*.doc *.rtf);;All files(*.*)");
if (!filename.isNull()) { //用户选择了文件
   // 处理文件
   QMessageBox::information(this, "Document", "Has document", QMessageBox::Ok | QMessageBox::Cancel);
} else // 用户取消选择
   QMessageBox::information(this, "Document", "No document", QMessageBox::Ok | QMessageBox::Cancel);

2. 可以选定多个文件的文件打开对话框

    QFileDialog::Options options;
    if (!native->isChecked())
        options |= QFileDialog::DontUseNativeDialog;
    QString selectedFilter;
    QStringList files = QFileDialog::getOpenFileNames(
                                this, tr("QFileDialog::getOpenFileNames()"),
                                openFilesPath,
                                tr("All Files (*);;Text Files (*.txt)"),
                                &selectedFilter,
                                options);
    if (files.count()) {
        openFilesPath = files[0];
        openFileNamesLabel->setText(QString("[%1]").arg(files.join(", ")));
    }

分享到:
评论

相关推荐

    QT之打开文件对话框选择文件

    在QT编程中,"打开文件对话框选择文件"是一个常见的功能,它允许用户从本地文件系统中选择一个或多个文件。这个过程涉及到几个关键知识点,包括如何触发对话框,如何处理用户选择的文件,以及如何获取和显示文件的...

    Qt 文件选择对话框

    在Qt中,你可以通过创建`QFileDialog`的对象并调用其方法来打开文件对话框。例如,以下代码将显示一个用于打开文件的对话框: ```cpp QFileDialog dialog(this); if (dialog.exec() == QFileDialog::Accept) { ...

    Qt内置对话框英文改中文

    QT开发时虽然能显示中文,但内置的对话框依然显示英文,使用QT内置的翻译文件即可解决问题,Qt标准对话框的文字,英文改成中文,

    基于QT的字体对话框实现

    5. **UI设计**:使用Qt Designer工具可以可视化地设计对话框的界面,包括添加按钮、标签等控件,并导出为.ui文件,然后用PyQt或Qt的其他绑定语言进行编程。 6. **代码实现**:使用Qt的C++ API或者Python的PyQt模块...

    qt 内建对话框

    这些对话框通常用于执行常见的任务,如打开或保存文件、显示消息、设置选项等,为用户提供统一且直观的操作体验。本文将深入探讨Qt内建对话框的实现与使用方法。 首先,我们来看一下Qt提供的几种主要内建对话框: ...

    Qml文件对话框QmlFileDialog.7z

    1. **打开文件对话框**:允许用户从他们的文件系统中选择一个或多个文件进行读取。这对于打开文档、图片或其他类型的数据是很有用的。 2. **保存文件对话框**:让用户指定一个位置和文件名来保存新文件或覆盖现有...

    Qt内置对话框

    QFileDialog用于打开和保存文件或选择文件夹。它允许用户通过浏览文件系统来选择文件或目录,并可以配置为只读、多选模式等。 3. **QColorDialog** QColorDialog用于让用户选择颜色。它可以展示一个颜色选择面板...

    Qt5 基本对话框的实现

    例如,如果你想创建一个打开文件的对话框,你可以实例化`QFileDialog`,并调用`getOpenFileName`方法。这个方法会显示一个对话框,让用户选择一个文件,并返回选定文件的路径。你可以设置对话框的初始目录、过滤器...

    QT实例 基本对话框

    在本实例中,我们将深入探讨QT中的基本对话框,这些对话框是用户与应用程序交互的重要组成部分,为用户提供了一种标准的方式来进行常见的任务,如保存文件、打开文件、显示消息等。 1. **QMessageBox** ...

    qt centos7 文件对话框实例

    在Qt库中,文件对话框(FileDialog)是一个用于与用户交互,选择或保存文件的界面组件。本实例将深入探讨如何在CentOS 7操作系统上使用Qt来创建一个功能完备的文件对话框。Qt是一个跨平台的应用程序开发框架,支持...

    定制打开文件对话框,实现文本预览源代码.zip

    本资源"定制打开文件对话框,实现文本预览源代码.zip"提供了一种方法,允许开发者为应用程序创建自定义的打开文件对话框,并集成文本预览功能。这个功能在很多应用场景中都非常有用,比如编辑器、文档管理器或任何...

    文件打开对话框的源代码资源

    在IT领域,文件打开对话框是用户界面设计中不可或缺的一部分,它允许用户浏览并选择本地计算机上的文件以便打开、编辑或执行。这个资源提供的是关于实现文件打开对话框的源代码,这对于开发者来说是一个非常实用的...

    【QT】09 对话框文章代码

    除了自定义和消息对话框,QT还提供了一系列标准对话框,如打开文件对话框、保存文件对话框、颜色选择对话框和字体选择对话框等。这些对话框由`QFileDialog`、`QColorDialog`和`QFontDialog`等类提供。它们简化了常见...

    Qt基本对话框实现

    1. **标准文件对话框** - `QFileDialog` 是用于处理文件选择操作的核心类。它可以用来打开、保存或选择多个文件。开发者可以通过设置不同的选项和槽函数来定制对话框的行为,例如设置默认路径、过滤文件类型等。 2...

    Qt基本对话框及实现各个功能的文档

    例如,使用`getOpenFileName()`函数可以创建一个打开文件对话框,而`getSaveFileName()`用于创建保存文件对话框。这些函数允许开发者自定义对话框的行为,如指定初始目录、过滤文件类型等。 2. 标准颜色对话框 `...

    gotocell2.rar_qt 对话框_对话框

    你可以使用IDE打开项目文件,编译并运行代码,观察对话框的运行效果。在学习过程中,理解QT的信号和槽机制至关重要,它是QT事件驱动编程的核心。 总的来说,这个范例提供了一个实践对话框编程的机会,涵盖了QT GUI...

    Qt中各种对话框的应用实例

    - **示例**:打开文件选择对话框。 ```cpp QString fileName = QFileDialog::getOpenFileName(this, "打开文件", "", "Text files (*.txt)"); ``` ##### 6. 使用标准输入框 - **输入框**:可以使用`...

    内置的打开和保存文件对话框.rar

    首先,打开文件对话框(Open File Dialog)允许用户浏览本地或网络上的文件,选择一个文件以在应用中打开。通常,它会显示最近使用的文件列表,提供过滤器以便只显示特定类型的文件(如.txt文档或.jpg图片),并且...

    打开多文件对话框.rar

    9. 安全性:在选择和打开文件时,程序应确保安全,避免用户无意间打开恶意文件或超出权限范围的文件。此外,对于敏感文件,还应提供权限提示。 10. 自定义配置:高级应用可能允许用户自定义打开多文件对话框的行为...

    Qt主界面获取模态对话框数据的方法

    在Qt编程中,主界面与对话框的交互是常见的应用场景,无论是模态还是非模态对话框,它们都用于向用户展示特定的信息或收集用户的输入数据。本篇将详细讲解如何在Qt主界面中获取模态和非模态对话框的数据。 首先,让...

Global site tag (gtag.js) - Google Analytics