环境
需求
- 把QT QTextEdit控件的内容,保存到文件中,如日志信息,包括中文
步骤
实现代码
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 文件夹创建失败。\r\n");
return;
}
}
QDateTime date_now = QDateTime::currentDateTime(); //获取系统现在的时间
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");
}
效果
小结
- 熟悉QT QTextEdit的使用,保存文本框内容的方法
- 熟悉QT 目录与文件的操作方法