1> 登录框实现注册功能,将注册的结果放入文件中(君子作业)
2> 完成文本编辑器的保存工作
widget.h
- #ifndef WIDGET_H
- #define WIDGET_H
-
- #include
- #include
- #include
- #include
- #include
- #include
- #include
- #include
- #include
- QT_BEGIN_NAMESPACE
- namespace Ui { class Widget; }
- QT_END_NAMESPACE
-
- class Widget : public QWidget
- {
- Q_OBJECT
-
- public:
- Widget(QWidget *parent = nullptr);
- ~Widget();
-
- private slots:
- void on_fontbtn_clicked();
-
- void on_colorbtn_clicked();
-
- void on_openbtn_clicked();
-
- void on_savebtn_clicked();
-
- private:
- Ui::Widget *ui;
- };
- #endif // WIDGET_H
main.cpp
- #include "widget.h"
-
- #include
-
- int main(int argc, char *argv[])
- {
- QApplication a(argc, argv);
- Widget w;
- w.show();
- return a.exec();
- }
widget.cpp
- #include "widget.h"
- #include "ui_widget.h"
-
- Widget::Widget(QWidget *parent)
- : QWidget(parent)
- , ui(new Ui::Widget)
- {
- ui->setupUi(this);
- }
-
- Widget::~Widget()
- {
- delete ui;
- }
-
-
- void Widget::on_fontbtn_clicked()
- {
- bool ok; //返回用户是否选中字体
- //直接调用getfont获取对话框
- QFont f= QFontDialog::getFont(&ok,//返回是否选择 字体
- QFont("宋体",10,10,false),//初始字体
- this,//父组件
- "选择字体");//对话框标题
- //对ok进行判断,判断用户是否选中字体了
- if(ok)
- {
- //用户选中字体
- ui->textEdit->setCurrentFont(f);
- //ui->textEdit->setTextColor();
-
- }
- else
- {
- QMessageBox::information(this,"取消","用户取消选择");
- }
- }
-
- void Widget::on_colorbtn_clicked()
- {
- QColor c =QColorDialog::getColor(QColor("pink"),
- this,
- "选择颜色");
- //判断c的合法性
- if(c.isValid())
- {
- //用户选择的颜色
- //ui->textEdit->setTextColor(c);
- ui->textEdit->setTextBackgroundColor(c);
- }
- else
- {
- QMessageBox::information(this,"取消","用户取消了选择颜色");
- }
- }
-
-
- void Widget::on_openbtn_clicked()
- {
- QString fileName = QFileDialog::getOpenFileName(this,
- "选择文件",
- "./",
- "All(*.*);;images(*.png *.jpg *.xmp);;text files(*.txt)");
- if(fileName.isNull())
- {
- QMessageBox::information(this,"提示","用户取消选择");
- return;
- }
-
- qDebug()<
-
- //实例化
- QFile file(fileName);
-
- if(!file.isOpen())
- {
- if(!file.open(QFile::ReadWrite))
- {
- QMessageBox::information(this,"失败","文件打开失败");
- return;
- }
- }
-
- QByteArray msg=file.readAll();
-
- //关闭文件
- file.close();
-
- //将读取的文本展示在ui界面
- ui->textEdit->setText(msg);
- }
-
- void Widget::on_savebtn_clicked()
- {
- QString fileName = QFileDialog::getSaveFileName(this,
- "保存文件",
- "./",
- "All(*.*);;images(*.png *.jpg *.xmp);;text files(*.txt)");
- if(fileName.isNull())
- {
- QMessageBox::information(this,"提示","用户取消选择");
- return;
- }
-
- qDebug()<
-
- //实例化
- QFile file(fileName);
-
- if(!file.isOpen())
- {
- if(!file.open(QFile::ReadWrite))
- {
- QMessageBox::information(this,"失败","文件打开失败");
- return;
- }
- else
- {
- QTextStream out(&file);
- QString content =ui->textEdit->toPlainText();
- out << content;
- }
- }
-
- //关闭文件
- file.close();
- }
3>
widget.h
- #ifndef WIDGET_H
- #define WIDGET_H
-
- #include
- #include
- #include
- #include
//按钮类头文件 - #include
- #include
//文本转语音类 - #include
-
- QT_BEGIN_NAMESPACE
- namespace Ui { class Widget; }
- QT_END_NAMESPACE
-
- class Widget : public QWidget
- {
- Q_OBJECT
-
- public:
- Widget(QWidget *parent = nullptr);
- ~Widget();
-
- void timerEvent(QTimerEvent *e) override;
-
- private slots:
- void on_startbtn_clicked();
-
- void on_closebtn_clicked();
-
- private:
- Ui::Widget *ui;
- int timer_id;
- //定义一个播报员
- QTextToSpeech *speecher;
- };
- #endif // WIDGET_H
main.cpp
- #include "widget.h"
-
- #include
-
- int main(int argc, char *argv[])
- {
- QApplication a(argc, argv);
- Widget w;
- w.show();
- return a.exec();
- }
widget.cpp
- #include "widget.h"
- #include "ui_widget.h"
-
- Widget::Widget(QWidget *parent)
- : QWidget(parent)
- , ui(new Ui::Widget)
- {
- ui->setupUi(this);
- //给播报员实例化空间
- speecher = new QTextToSpeech(this);
- }
-
- Widget::~Widget()
- {
- delete ui;
- }
-
- void Widget::timerEvent(QTimerEvent *e)
- {
- if(e->timerId()==timer_id)
- {
- QTime sys_t=QTime::currentTime();
- //将qtime类对象转换为字符串
- QString t=sys_t.toString("hh:mm:ss");
- //将行编辑器内容转换为字符串
- QString s=ui->lineEdit->text();
- if(t==s)//对比时间
- {
- //到时自动播报文本编辑器里的内容
- speecher->say(ui->textEdit->toPlainText());
- }
- ui->timelabel->setText(t);
- }
- }
-
- void Widget::on_startbtn_clicked()
- {
- timer_id=this->startTimer(1000); //启动一个定时器参数是超时时间(毫秒)
- }
-
- void Widget::on_closebtn_clicked()
- {
- this->killTimer(timer_id); //关闭给定的定时器
- }
-
相关阅读:
SA+ST表维护height+单调队列维护:CF1073G
黄菊华老师,Python毕业设计毕设辅导教程(4):Python 基础概念
数据治理的 “独孤九剑”
抖音矩阵系统。抖音矩阵系统。抖音矩阵系统。抖音矩阵系统。抖音矩阵系统。抖音矩阵系统。
刚刚接触struts2的踩雷记录
一个简单的音乐网站设计与实现(HTML+CSS)
药物临床试验数据递交FDA的规定
【明解c语言中级篇 第二章练习答案】
java计算机毕业设计吉他库存管理(附源码、数据库)
2.区块链系列之部署合约
-
原文地址:https://blog.csdn.net/wdc857/article/details/133044441