widget.h
#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
#include <QFont> //字体类
#include <QFontDialog> //字体对话框类
#include <QDebug>
#include <QColor> //颜色类
#include <QColorDialog> //颜色对话框类
#include <QFile> //文件类
#include <QFileDialog> //文件对话框类
namespace Ui {
class Widget;
}
class Widget : public QWidget
{
Q_OBJECT
public:
explicit Widget(QWidget *parent = nullptr);
~Widget();
private slots:
void on_btn1_clicked();
void on_btn2_clicked();
void on_btn3_clicked();
void on_btn4_clicked();
private:
Ui::Widget *ui;
};
#endif // WIDGET_H
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_btn1_clicked()
{
bool ok; //判断是否选中字体
QFont f = QFontDialog::getFont(&ok, //判断是否选中字体
QFont("隶书",9,2,true), //初始字体
this, //父组件 也可写null
"字体选择" //对话框名称
);
//对ok进行判断,判断是否选中字体
if(ok)
{
//qDebug()<<"用户选中字体";
//将选中的字体应用到文本内容里
ui->edt1->setFont(f); //设置字体时改变所有字体样式
//将当前选中的字体,加载字体样式
ui->edt1->setCurrentFont(f);
}else {
qDebug()<<"用户未选中字体";
}
}
//颜色按钮对于的槽函数
void Widget::on_btn2_clicked()
{
QColor c = QColorDialog::getColor(QColor("pink"), //初始颜色
this, //父组件
"颜色选择"); //对话框标题
//对颜色进行判断是否合法
if(c.isValid())
{
//qDebug()<<"用户选择颜色合法";
//将颜色设置到文本上
// ui->edt1->setTextColor(c); //设置选中的文字的颜色
ui->edt1->setTextBackgroundColor(c); //设置选中的文字的背景颜色
}else {
qDebug()<<"用户取消选择颜色";
}
}
//打开文件按钮对于的槽函数
void Widget::on_btn3_clicked()
{
QString fileName = QFileDialog::getOpenFileName(this, //父组件
"选择打开文件", //对话框标题
"./", //起始目录
"ALL(*.*);;Text(*.txt);;源文件(*.cpp);;图片(*.png *.jnp *.gif *.xpm"); //过滤器
//判断用户是否选中文件
if(fileName.isEmpty())
{
qDebug()<<"用户取消选择文件";
return;
}
//输入文件路径
qDebug()<<fileName;
//文件操作三部曲:打开、读写、关闭
QFile file(fileName); //通过获取的文件就构造出一个文件对象
//判断文件是否存在
if(!file.exists())
{
qDebug()<<"您要打开的文件不存在";
return;
}
//打开文件
if(!file.open(QIODevice::ReadWrite))
{
qDebug()<<"文件打开失败";
}
//获取文件中的数据
QByteArray text = file.readAll(); //将文件中的所有数据全部读取出来
//将读取的文件内容展示到ui界面上
//ui->edt1->setText(QString::fromLocal8Bit(text));
ui->edt1->setText(text);
//关闭文件
file.close();
}
//保存文件按钮对于的槽函数
void Widget::on_btn4_clicked()
{
QString fileName = QFileDialog::getSaveFileName(this, //父组件
"保存文件", //标题
"./", //起始路径
"ALL(*.*)"); //过滤器
//实例化文件对象
QFile file(fileName);
//打开文件
if(!file.open(QIODevice::ReadWrite))
{
qDebug()<<"文件打开失败";
return;
}
//获取ui界面中的文本内容
QString msg = ui->edt1->toPlainText();
//将msg写入文件中
file.write(msg.toLocal8Bit());
//关闭文件
file.close();
}
result