使用qt制作文本编辑器

功能:1.修改字体

           2.修改字体颜色

           3.文件选择

           4.保存文件

源文件:

#include "mainwindow.h"
#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);
}

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



//字体按钮
void MainWindow::on_butt1_clicked()
{
    bool ok;

    //调用字体对话框
    QFont f = QFontDialog::getFont(&ok,                     //判断是否选择字体
                          QFont("幼圆",20,10,false),         //默认字体
                         this,                              //父组件
                         "选择字体");                           //对话框标题
    if(ok)
    {
        //将选中字体给字体框
        //ui->textEdit->setFont(f);      //用字体格式设置全部文字
        ui->textEdit->setCurrentFont(f);  //仅改变所选择字体的格式
    }else
    {
        QMessageBox::information(this,"提示","您没有选择字体!");
    }
}

//颜色按钮
void MainWindow::on_butt2_clicked()
{
    QColor c = QColorDialog::getColor(QColor(0,200,200),
                                      this,
                                      "选择颜色");
    if(c.isValid())
    {
        ui->textEdit->setTextColor(c);
    }else
    {
         QMessageBox::information(this,"提示","您没有选择颜色!");
    }
}

//打开按钮
void MainWindow::on_butt3_clicked()
{
    QString filename = QFileDialog::getOpenFileName(this,        //父组件
                                                    "选择文件",     //标题框
                                                    "./",           //起始路径
                                                    "all file(*.*);;Text(*.txt);;Image(*.png *.jpg)");          //过滤器
    //实例化对象
    QFile file(filename);

    //打开文件
    if(!file.open(QFile::ReadOnly))
    {
        return;
    }

    //读取数据
    QByteArray msg = file.readAll();   //读取全部数据

    //将数据展示到ui界面
    ui->textEdit->setText(QString::fromLocal8Bit(msg));

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

void MainWindow::on_butt4_clicked()
{
    QString filepath = QFileDialog::getSaveFileName(this,        //父组件
                                                    "保存文件",     //标题框
                                                    "./",           //起始路径
                                                    "all file(*.*);;Text(*.txt);;Image(*.png *.jpg)");          //过滤器
    //实例化对象
    QFile file(filepath);

    //打开文件
    if(!file.open(QFile::ReadWrite))
    {
        return;
    }

    //获取获取文本编辑器的内容
    QByteArray text = ui->textEdit->toPlainText().toUtf8();

    //写入文件
    file.write(text);

    file.close();
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值