- #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()
- {
- //调用QFontDialog类中的静态成员函数,getFont函数来调取系统提供的字体对话框
- bool ok; //用于接受用户是否选中了字体
- QFont f = QFontDialog::getFont(&ok, //返回是否选中字体
- QFont("楷书",10,10,false), //初始字体
- this, //父组件
- "选择字体"); //对话框标题
- //将选中的字体进行使用
- if(ok)
- {
- //选中了字体,将字体设置到文本上
- // ui->textEdit->setFont(f);
- ui->textEdit->setCurrentFont(f);
-
- }
- else
- {
- //没选中字体
- QMessageBox::information(this,"提示","您取消了选择字体");
-
- }
-
- }
-
-
- //颜色按钮对应的槽函数
- void Widget::on_colorBtn_clicked()
- {
- QColor c = QColorDialog::getColor(QColor("pink"),
- this,
- "选择颜色");
- //对选中的颜色判断合法性
- if(c.isValid())
- {
- //颜色合法。直接使用即可
- //ui->textEdit->setTextColor(c);
- ui->textEdit->setTextBackgroundColor(c);
- }
- else
- {
- //颜色不合法
- QMessageBox::information(this,"提示","您取消了选择颜色");
- }
-
- }
-
- //打开文件按钮对应的槽函数
- void Widget::on_openBtn_clicked()
- {
- //调用QFileDialog的静态成员函数getOpenFileName来获取选中文件的路径
- QString fileName = QFileDialog::getOpenFileName(this, //父组件
- "选择文件", //对话框标题
- "./", //起始路径
- "Image File(*.png *.jpg *bmp);;Text File(*.txt);;All(*.*)"); //过滤器
- if(fileName.isNull())
- {
- QMessageBox::information(this,"提示","您取消了选择文件");
- return;
- }
-
- //输出文件路径
- qDebug() << fileName;
-
- //1、实例化一个文件对象
- QFile file(fileName); //使用获取到的文件路径,实例化一个文件对象,后期对文件的操作都是基于该对象
-
- //2、判断文件是否存在
- if(!file.exists())
- {
- return;
- }
-
- //3、打开文件
- if(!file.open(QFile::ReadOnly))
- {
- return;
- }
-
- //4、读取文件中的内容
- QByteArray msg = file.readAll();
-
- //将内容展示到ui界面
- ui->textEdit->setText(QString::fromLocal8Bit(msg));
-
- // //获取文本编辑器中的内容
- // ui->textEdit->toPlainText();
-
- //5、关闭文件
- file.close();
-
- }
-
- void Widget::on_saveBtn_clicked()
- {
- //调用QFileDialog的静态成员函数getSaveFileName来获取选中文件的路径
- QString filename = QFileDialog::getSaveFileName(this, //父组件
- "保存文件", //对话框标题
- "./", //起始路径
- "all file(*.*);;Text(*.txt);;Image(*.png,*.jpg,*.gif)"); //过滤器
- if(filename.isNull())
- {
- QMessageBox::information(this,"提示","您取消了选择文件");
- return;
- }
-
- //输出文件路径
- qDebug() << filename;
-
- //文件操作
- QFile file(filename); //使用获取到的文件路径,实例化一个文件对象,后期对文件的操作都是基于该对象
-
- //打开文件
- if(!file.open(QFile::Append))
- {
- return;
- }
-
- //获取textEdit中的内容
- QString msg = ui->textEdit->toPlainText();
-
- //将textEdit中的内容写入到filename中
- file.write(msg.toLocal8Bit());
-
- //关闭文件
- file.close();
-
- }
- #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::keyPressEvent(QKeyEvent *event)
- {
- // qDebug() << "键盘被按下了!" << event->text() << "键值为:" << event->key();
- switch(event->key())
- {
- case 'W' :
- {
- if(ui->label->y() <= 0-ui->label->height())
- {
- ui->label->move(ui->label->x(),this->height());
- }
- ui->label->move(ui->label->x(),ui->label->y()-10);
- }
- break;
- case 'S' :
- {
- if(ui->label->y() >= this->height())
- {
- ui->label->move(ui->label->x(),0);
- }
- ui->label->move(ui->label->x(),ui->label->y()+10);
- }
- break;
- case 'A' :
- {
- if(ui->label->x() <= 0-ui->label->width())
- {
- ui->label->move(this->width(),ui->label->y());
- }
- ui->label->move(ui->label->x()-10,ui->label->y());
- }
- break;
- case 'D' :
- {
- if(ui->label->x() >= this->width())
- {
- ui->label->move(0,ui->label->y());
- }
- ui->label->move(ui->label->x()+10,ui->label->y());
- }
- break;
-
-
- }
-
- }
-
- //键盘抬起事件处理函数的定义
- void Widget::keyReleaseEvent(QKeyEvent *event)
- {
-
- }
-