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

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

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

 

filename=QFileDialog::getOpenFileName();

  getOpenFileName()拥有四个参数:

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

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

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

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

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

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


了,

  QString fileName=QFileDialog::getOpenFileName(this);

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

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

if(!filename.isEmpty()){
          QFile file(filename);
          if(file.open(QFile::ReadOnly | QFile::Text)){
                  QTextStream in(&file);
                  TextEdit->setPlainText(in.readAll());
          }
  }