qt day3

1> 登录框实现注册功能,将注册的结果放入文件中(君子作业)

2> 完成文本编辑器的保存工作qt day3_第1张图片

qt day3_第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()<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()<textEdit->toPlainText();
            out << content;
        }
    }

    //关闭文件
    file.close();
}

3>

qt day3_第3张图片

qt day3_第4张图片 

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); //关闭给定的定时器
}

你可能感兴趣的:(qt,开发语言)