Qt中利用QFileDialog操作文件

来源:互联网 发布:驾校约车用什么软件 编辑:程序博客网 时间:2024/05/17 04:04

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

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

    QStringfilename;//申明一个QString类型的变量来存储文件路径;

   filename=QFileDialog::getOpenFileName();

   getOpenFileName()拥有四个参数:

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

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

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

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

   QStringfilename=QFileDialog::getOpenFileName(this,tr("openfile"),".",tr("Spreadsheet files (*.sp)"));

   但是有时候并不需要这么复杂的指定的时候,我们只需要传入第一个参数就可以   第三个参数则表示我们需要查找的目录层级。


了,

   QStringfileName=QFileDialog::getOpenFileName(this);

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

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

    if(!filename.isEmpty()){

           QFilefile(filename);

           if(file.open(QFile::ReadOnly| QFile::Text)){

                   QTextStreamin(&file);

                   TextEdit->setPlainText(in.readAll());

           }

   }


原文地址:http://decode.diandian.com/post/2013-02-27/40049265482

0 0