保存文件
getSaveFileName
QString strSaveName = QFileDialog::getSaveFileName(
this,
tr("保存的文件"),
tr("demo.a.txt"),
tr("Items files(*.items)")
);
//保存所有条目到文件
void MainWindow::on_pushButtonSave_clicked()
{
QString strSaveName = QFileDialog::getSaveFileName(
this,
tr("保存的文件"),
tr("."),
tr("Items files(*.items)")
);
myDebug("strSaveName",strSaveName);
//判断文件名
if( strSaveName.isEmpty() )
{
return;
}
//打开要写入的文件
QFile fileSave(strSaveName);
myDebug("strSaveName",strSaveName);
if( ! fileSave.open( QIODevice::WriteOnly ))
{
//无法打开要写入的文件
QMessageBox::warning(this, tr("打开写入文件"),
tr("打开要写入的文件失败,请检查文件名和是否具有写入权限!"));
return;
}
//创建数据流
QDataStream dsOut(&fileSave);
//先写入列表条目计数
qint32 nCount = ui->listWidget->count();
myDebug("nCount",nCount);
dsOut << nCount; //没有回车
//dsOut << nCount << endl;//有回车
//逐个写入条目
for(qint32 i=0; i < nCount; i++)
{
QListWidgetItem *theItem = ui->listWidget->item(i);
dsOut<< *theItem; //把条目对象写入数据流,不是写指针数值
//数据流仅写入条目通用数据,条目的非通用数据不写入,比如条目的标志位不写
}
//写入完毕
}
Qt QTextEdit获取输入框内容
QString name = ui->tbxName->toPlainText();
//导出信息到
void MainWindow::on_pushButton_clicked()
{
QDateTime dateTime;
dateTime = QDateTime::currentDateTime();
qDebug() << dateTime.toString("yyyy-MM-dd-hh:mm:ss");
QString dateTimeStr = dateTime.toString("yyyy-MM-dd-hh_mm_ss");
QString fileStr = dateTimeStr + ".txt";
const char *fileStrInfo = fileStr.toLatin1().constData(); //toUtf8()
QString strSaveName = QFileDialog::getSaveFileName(
this,
tr("保存的文件"),
tr(fileStrInfo),
tr("Items files(*.items)")
);
//打开要写入的文件
QFile fileSave(strSaveName);
qDebug() << "strSaveName:" << strSaveName;
if( ! fileSave.open( QIODevice::WriteOnly ))
{
//无法打开要写入的文件
QMessageBox::warning(this, tr("打开写入文件"),
tr("打开要写入的文件失败,请检查文件名和是否具有写入权限!"));
return;
}
QString fileName=strSaveName;
qDebug() << "fileName:" << fileName;
QFile f(fileName);
if(!f.open(QIODevice::WriteOnly | QIODevice::Text))
{
qDebug() << "Open failed.";
QMessageBox::warning(this,"file error","can't open",QMessageBox::Yes);
}
QTextStream in(&f);
QString test_info = ui->textConsole->toPlainText();
qDebug() << "test_info:" << test_info;
//in << textConsole;//没有回车
in << test_info << endl;//有回车
f.close();
}
QT获取显示当前时间和日期
https://blog.csdn.net/qq_33249042/article/details/124534926
QDateTime类
QDateTime类是 QDate 和 QTime 的组合,提供一系列时间和日期相关的函数。
通过调用 QDateTime 类中的 currentDateTime() 方法可以获取到当前系统时间和日期:
QDateTime dateTime;
dateTime = QDateTime::currentDateTime();
qDebug()<<dateTime;
qDebug() << dateTime.toString("yyyy-MM-dd hh:mm:ss ddd");
输出结果:
QDateTime(2022-04-29 15:22:23.615 中国标准时间 Qt::TimeSpec(LocalTime))
"2022-04-29 15:22:23 周五"
------------------------------------------------------------------------------------------
QDate date = QDate::currentDate();
qDebug() << date;
qDebug() << date.toString("yyyy-MM-dd ddd");
qDebug() << date.toString("yyyy-MM-dd dddd");
输出结果:
"2022-04-29 周五"
"2022-04-29 星期五"
------------------------------------------------------------------------------------------
QDate date = QDate::currentDate();
qDebug() << date;
qDebug() << date.toString("yyyy-MM-dd");
输出结果:
QDate("2022-04-29")
"2022-04-29"
------------------------------------------------------------------------------------------