qt实现基本文件操作

先通过ui界面实现基本框架

qt实现基本文件操作_第1张图片

接下来就要实现每个按键的功能了

我们先来实现新建的的功能,我们右键新建键,可以发现没有转到槽的功能,因此我们要自己写connect来建立关系。

private slots:
    void newActionSlot();

在.h文件中加上槽函数。

 connect(ui->action_N,&QAction::triggered,this,&MainWindow::newActionSlot);

然后再.cpp的构造函数中加上connect函数,&QAction::triggered就是被单击的信号。

建立联系之后我们就可以实现newActionSlot()这个函数。

void MainWindow::newActionSlot()
{
    ui->textEdit->clear();
    this->setWindowTitle("新建文本文档.txt");
}

我们使用了clear清空原本的内容,然后重新给窗口名取别名。这样一来新建键的功能实现了。

接下来实现打开键。

void openActionSlot();

 老样子,在.h文件中加入此函数。

然后再.cpp中建立联系

 connect(ui->action_O,&QAction::triggered,this,&MainWindow::openActionSlot);

实现void openActionSlot()

void MainWindow::openActionSlot()
{
   QString filename= QFileDialog::getOpenFileName(this, "选择一个文件",
                             QCoreApplication::applicationFilePath(),//获取当前路径
                                                    "*.cpp");
    if(filename.isEmpty())
   {
       QMessageBox::warning(this,"警告","请选择一个文件");
   }
    else
    {
        //qDebug()<textEdit->setText(QString(ba));
       file.close();
    }
}

 我们来一步一步解析。

QString filename= QFileDialog::getOpenFileName(this, "选择一个文件",
                             QCoreApplication::applicationFilePath(),//获取当前路径
                                                    "*.cpp");

这一行可以获取选择文件的绝对路径。

if(filename.isEmpty())
   {
       QMessageBox::warning(this,"警告","请选择一个文件");
   }

如果没有选择文件,回弹出窗口警告,加头文件QMessage。

 file.open(QIODevice::ReadOnly);以只读的方式打开文件

接下来我们实现另存为键

 void saveActionSlot();

connect(ui->action_S,&QAction::triggered,this,&MainWindow::saveActionSlot);
void MainWindow::saveActionSlot()
{
    QString filename=QFileDialog::getSaveFileName(this,"选择一个文件",
                      QCoreApplication::applicationFilePath());
    if(filename.isEmpty())
    {
        QMessageBox::warning(this,"警告","请选择一个文件");
    }
    else
    {
        QFile file(filename);
        file.open(QIODevice::WriteOnly);
        // QByteArray ba;
        // ba.append(ui->textEdit->toPlainText());
        file.write(ui->textEdit->toPlainText().toUtf8().data());
        file.close();
    }
}

实现这个函数和上述步骤基本一致。

通过以上操作我们实现了基本功能,让我们一起来看看效果

点击打开键

qt实现基本文件操作_第2张图片

没有选择文件

qt实现基本文件操作_第3张图片

打开文件后,成功在textedit中显示

qt实现基本文件操作_第4张图片

点击另存为键 

qt实现基本文件操作_第5张图片

你可能感兴趣的:(qt,开发语言)