環(huán)境
- Win10 64位
- QT5.14.1
需求
- 把QT QTextEdit控件的內(nèi)容,保存到文件中,如日志信息,包括中文
步驟
- 這里使用按鈕事件,點(diǎn)擊按鈕時(shí),保存文件

2022-03-31_002432.png
- 文件名基于時(shí)間的后綴
實(shí)現(xiàn)代碼
void serial::on_pbBtn_save_log_clicked()
{
QString log_info = ui->textEdit_logger->toPlainText();
QByteArray log_ba = log_info.toLocal8Bit();
ota_log(log_ba.data(), log_ba.length());
}
void serial::ota_log(char *msg, quint32 len)
{
QString log_path = "logs";
QDir dir;
if (!dir.exists(log_path))
{
bool res = dir.mkpath(log_path);
if (res != true)
{
ui->textEdit_logger->setPlainText("【提示】log 文件夾創(chuàng)建失敗。\r\n");
return;
}
}
QDateTime date_now = QDateTime::currentDateTime(); //獲取系統(tǒng)現(xiàn)在的時(shí)間
QString str_now = date_now.toString("yyyy_MM_dd_hh_mm_ss");
QString filename = log_path + "\\" + "ota_" + str_now + ".log";
QFile file(filename);
file.open(QIODevice::ReadWrite|QIODevice::Text);
file.write((const char *)msg,len);
file.close();
ui->textEdit_logger->insertPlainText("【提示】日志保存成功。\r\n");
}
效果
- 點(diǎn)擊保存后,發(fā)現(xiàn)日志文件存在了指定的目錄下

2022-03-31_002746.png

2022-03-31_002819.png
- 中文內(nèi)容也成功的保存
小結(jié)
- 熟悉QT QTextEdit的使用,保存文本框內(nèi)容的方法
- 熟悉QT 目錄與文件的操作方法