首页 > 其他 > 详细

Qt中利用QFileDialog操作文件(1)

时间:2014-03-07 13:17:10      阅读:499      评论:0      收藏:0      [点我收藏+]

 

   在建立应用程序的时候,我们通常会开到菜单栏的File菜单下面会有打开文件的按钮,在这里我们通过Qt去实现一次:

   如果要打开一个文件,首先我们需要获取文件路径,Qt提供了内置的QFileDialog对话框用来获取需要打开的文件名称,QFileDialog有一个内置静态函数用于获取文件:

bubuko.com,布布扣
    QString filename;//申明一个QString类型的变量来存储文件路径;

   filename=QFileDialog::getOpenFileName();
bubuko.com,布布扣

 

   getOpenFileName()拥有三个参数:

    第一个参数表示父类名称,因为一般对话框都有自主决定权,比如关闭,并不依赖父窗口,但是如果需要依赖父窗口,则传入父窗口指针,一般情况下将自身做为参数。

   第二个参数是设置的对话框的标题。

   第三个参数则表示我们需要查找的目录层级。

   第四个参数则表示对于文件的过滤,比如有时候我们只允许查找和打开特定的扩展名的文件。

   所以我们写一个完整的例子:

  

bubuko.com,布布扣
 QString filename=QFileDialog::getOpenFileName(this,tr("open file"),".",tr("Spreadsheet files (*.sp)"));
bubuko.com,布布扣

 

   但是有时候并不需要这么复杂的指定的时候,我们只需要传入第一个参数就可以了,

bubuko.com,布布扣
   QString fileName=QFileDialog::getOpenFileName(this);
bubuko.com,布布扣

 

   这样,我们就获取到了需要打开的文件名了,接下来我们将这个打开的文件显示的QTextEdit中,

   为了程序的严谨性,我们需要做一次判断,如果在文件名称不为空的情况再进行读取操作。

bubuko.com,布布扣
 1     if(!filename.isEmpty()){
 2 
 3            QFile file(filename);
 4 
 5            if(file.open(QFile::ReadOnly | QFile::Text)){
 6 
 7                    QTextStream in(&file);
 8 
 9                    TextEdit->setPlainText(in.readAll());
10 
11            }
12 
13    }
bubuko.com,布布扣

Qt中利用QFileDialog操作文件(1),布布扣,bubuko.com

Qt中利用QFileDialog操作文件(1)

原文:http://www.cnblogs.com/sdo931024/p/3585385.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!