Qt写入文件操作QFile

创建一个实例如下:

点击按钮将 contentLineEdit中的内容 “Content Write to File”写入到文件D:/Qt02.txt

首先在头文件加入如下代码:

private:
    Ui::MainWindow *ui;
    QLineEdit *lineEdit;
    QPushButton *pushButton;
    QLineEdit *contentLineEdit;
private slots:
    void createFileSlot();

再在构造函数中加入如下代码:

    lineEdit = new QLineEdit(this);
    lineEdit->setGeometry(QRect(50, 50, 200, 25));
    lineEdit->setText("D:/Qt02.txt");
    contentLineEdit = new QLineEdit(this);
    contentLineEdit->setGeometry(QRect(50, 100, 200, 25));
    contentLineEdit->setText("Content Write to File");
    pushButton = new QPushButton(this);
    pushButton->setText("Create");
    connect(pushButton, &QPushButton::clicked, this, &MainWindow::createFileSlot);

槽函数实现:

void MainWindow::createFileSlot()
{
    QFile file(lineEdit->text());
    //judge file exist or not
    if(file.exists())
        QMessageBox::warning(this, "Create File", "File is already existed");
    else
    {
        //不存在创建,存在则打开
        file.open(QIODevice::ReadWrite | QIODevice::Text);
        //写入内容,注意需要转码,否则会报错
        QByteArray str = contentLineEdit->text().toUtf8();
        //写入QByteArray格式字符串
        file.write(str);
        QMessageBox::warning(this, "CreateFile", "Create File Success");
    }
    file.close();
}

猜你喜欢

转载自blog.csdn.net/qiukapi/article/details/86549378
今日推荐