创建一个实例如下:
点击按钮将 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();
}