Qt getSaveFileName Qt date 获取显示当前时间和日期 文件

本文介绍在Qt中如何使用QFileDialog进行文件保存,包括设置默认文件名和过滤器,以及如何利用QDataStream将数据写入文件。同时,详细讲解了如何使用QDateTime获取并格式化当前时间和日期。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

保存文件
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.youkuaiyun.com/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"

------------------------------------------------------------------------------------------



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值