Qt-文本编辑框

文本编辑框功能实现

//功能函数

#include "widget.h"
#include "ui_widget.h"

Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);
    this->setWindowTitle("Joyce's TEXT");
    this->setWindowIcon(QIcon(":/1686733927579.png"));

    ui->font->setIcon(QIcon(":/pic.png"));
    ui->open->setIcon(QIcon(":/pic.png"));
    ui->close->setIcon(QIcon(":/pic.png"));
    ui->color->setIcon(QIcon(":/pic.png"));
}

Widget::~Widget()
{
    delete ui;
}

//字体按钮对应槽函数
void Widget::on_font_clicked()
{
    bool ok;      //判断是否选中字体
    QFont f=QFontDialog::getFont(
                                &ok,                      //判断是否选中字体
                                QFont("宋体",20,4,true),   //初始字体
                                this,                    //父组件,也可填NULL
                                "选择字体");              //对话框标题
    if(ok)
    {
        //改变所有文本的字体样式
        //ui->textEdit->setFont(f);

        //将选中的字体加载字体样式
        ui->textEdit->setCurrentFont(f);

        qDebug()<<"用户选中了一个字体";
    }
    else
    {
        qDebug()<<"用户取消选择";
    }
}

//颜色按钮对应槽函数
void Widget::on_color_clicked()
{
    QColor c = QColorDialog::getColor(QColor("blue"),
                                      this,
                                      "选择颜色");
    //对颜色进行判断
    if(c.isValid())
    {
        //设置前景色
        ui->textEdit->setTextColor(c);

        //设置背景色
        //ui->textEdit->setTextBackgroundColor(c);
        qDebug()<<"选择颜色合法";
    }
    else
    {
        qDebug()<<"选择颜色不合法";
    }
}

//打开文件按钮对应槽函数
void Widget::on_open_clicked()
{
    QString fileName=QFileDialog::getOpenFileName(this,           //父组件
                                                  "选择文件",      //对话框标题
                                                  "./",          //起始目录
                                                  "ALL(*.*);;TEXT(*.txt);;源文件(*.cpp);;图片(*.png *.jpg *.gif)");  //过滤文件
    if(fileName.isEmpty())
    {
        qDebug()<<"用户取消选择文件";
        return;
    }

    qDebug()<<fileName;

    //文件操作:打开、读写、关闭
    QFile file(fileName);       //通过获取的文件路径构造出一个文件对象

    //判断文件是否存在
    if(!file.exists())
    {
        qDebug()<<"您要打开的文件不存在";
        return;
    }

    //打开文件
    file.open(QIODevice::ReadWrite);

    //读取文件中的数据
    QByteArray text=file.readAll();      //将文件中所有数据全部读取出来

    //将读取的文件内容展示到ui界面上
    ui->textEdit->setText(text);

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

}

//保存文件按钮对应槽函数
void Widget::on_close_clicked()
{
    QString fileName=QFileDialog::getSaveFileName(this,               //父组件
                                                  "保存文件",          //标题
                                                  "./",               //起始目录
                                                  "ALL(**.*)");       //过滤器

    //实例化对象
    QFile file(fileName);

    //打开文件
    if(!file.open(QIODevice::ReadWrite))
    {
        qDebug()<<"文件打开失败";
        return;
    }

    //获取UI界面中的文本内容
    QString msg=ui->textEdit->toPlainText();

    //将msg写入文件
    file.write(msg.toLocal8Bit());

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

结果

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值