• 9月19日作业


    完成文本编辑器的保存工作-代码:

    1. void Widget::on_pushButton_4_clicked()
    2. {
    3. //创建保存文件对话框
    4. QString filename = QFileDialog::getSaveFileName(this,
    5. "保存文件",
    6. "./",
    7. "All(*.*);;Text files (*.txt)");
    8. //创建一个文件对象,用filename路径名初始化
    9. QFile file(filename);
    10. //以只写的形式打开
    11. file.open(QFile::WriteOnly);
    12. //将textedit中的信息存入filename这个路径中
    13. QString msg = ui->textEdit->toPlainText(); //用msg接收textedit中的字符串
    14. QByteArray data = msg.toUtf8(); //将字符串转换为QByteArray类
    15. file.write(data); //写入
    16. file.close(); //关闭文件
    17. }

    运行实例:

    实现闹钟功能-代码:

    widget.h

    1. #ifndef WIDGET_H
    2. #define WIDGET_H
    3. #include
    4. #include
    5. #include
    6. #include
    7. #include
    8. QT_BEGIN_NAMESPACE
    9. namespace Ui { class Widget; }
    10. QT_END_NAMESPACE
    11. class Widget : public QWidget
    12. {
    13. Q_OBJECT
    14. public:
    15. Widget(QWidget *parent = nullptr);
    16. ~Widget();
    17. void timerEvent(QTimerEvent *e) override;
    18. private slots:
    19. void on_startbtn_clicked();
    20. void on_closebtn_clicked();
    21. private:
    22. Ui::Widget *ui;
    23. int timer_id; //定时器的id号
    24. QTime sys_t; //定义系统时间
    25. QTextToSpeech speecher; //定义播报员
    26. };
    27. #endif // WIDGET_H

    widget.cpp 

    1. #include "widget.h"
    2. #include "ui_widget.h"
    3. Widget::Widget(QWidget *parent)
    4. : QWidget(parent)
    5. , ui(new Ui::Widget)
    6. {
    7. ui->setupUi(this);
    8. }
    9. Widget::~Widget()
    10. {
    11. delete ui;
    12. }
    13. //定时器时间处理函数
    14. void Widget::timerEvent(QTimerEvent *e)
    15. {
    16. //获取系统时间
    17. sys_t = QTime::currentTime();
    18. //将QTime类对象转换为QString类对象
    19. QString t = sys_t.toString("hh:mm:ss");
    20. //展示到ui界面
    21. ui->timelabel->setText(t);
    22. //qDebug()<clockEdit->text();
    23. if(e->timerId() == timer_id){ //匹配定时器信号
    24. if(t == ui->clockEdit->text()){ //判断当前系统时间与输入时间是否相等
    25. speecher.say(ui->textEdit->toPlainText()); //古诗朗诵
    26. }
    27. }
    28. }
    29. //启动定时器对应的槽函数
    30. void Widget::on_startbtn_clicked()
    31. {
    32. //功能:启动一个定时器
    33. //参数:超时时间,每隔给定的时间后,自动调用定时器处理函数
    34. //返回值:当前定时器的id号
    35. timer_id = this->startTimer(0);
    36. }
    37. //关闭定时器对应的槽函数
    38. void Widget::on_closebtn_clicked()
    39. {
    40. this->killTimer(timer_id); //关闭给定的定时器
    41. speecher.stop();
    42. }

    思维导图

  • 相关阅读:
    opencv之VideoCapture与VideoWriter笔记
    NS2的LEACH仿真出来的nam文件拓扑的节点为什么x=0,且y=0
    RHCE之路防火墙,iptables
    跑步需要哪些运动装备?跑步装备选购指南
    c语言基础学习笔记(二):表达式和运算符优先级
    Python识别图片的文字(Tesseract)和中文分词(jieba)
    vue3基础铺垫之 Promise
    Docker学习-Dockerfile概述与用法
    java毕业设计木材产销系统的生产管理模块mybatis+源码+调试部署+系统+数据库+lw
    EasyPoi大数据导入导出百万级实例
  • 原文地址:https://blog.csdn.net/mcslll/article/details/133045729