QT day3 (封装软件)

实现文本编辑器

 widget.c

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

widget::widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::widget)
{

        //this->setWindowFlags(Qt::FramelessWindowHint);
    ui->setupUi(this);
    this->setFixedSize(QSize(650,570));
    this->setWindowTitle("文本编辑器");
    qDebug()<<this->size();
    //ui->textEdit->resize(this->size());
    qDebug()<<ui->textEdit->size();

}

//void widget::mouseMoveEvent(QMouseEvent *event)
//{

//    ui->textEdit->resize(this->width(),this->height()-100);
//    //ui->layout->move(ui->open->x(),this->height()-50);

//}



widget::~widget()
{
    delete ui;
}
//字体按钮
void widget::on_word_clicked()
{

    bool ok;
    QFont font = QFontDialog::getFont(
                &ok,
                QFont("隶书", 16,2,true),
                nullptr ,
                "选择字体");
    if (ok) {
        // the user clicked OK and font is set to the font the user selected
        qDebug()<< "字体选择成功";
        //       ui->textEdit->setFont(font);     //改变全局字体样式
        ui->textEdit->setCurrentFont(font);  //改变当前字体样式


    } else {
        // the user canceled the dialog; font is set to the initial
        // value, in this case Helvetica [Cronyx], 10
        qDebug()<< "取消选择";
    }
}
//颜色按钮
void widget::on_color_clicked()
{

    // Specify semi-transparent blue
    QColor c=QColorDialog::getColor(
                Qt::blue,
                nullptr,
                QString(),
                QColorDialog::ShowAlphaChannel);

    if (c.isValid()) {
        qDebug()<< "颜色选择成功";
        ui->textEdit->setTextColor(c);
    }
    else {
        qDebug()<< "取消选择";
    }
}
//打开文件按钮
void widget::on_open_clicked()
{
    QString fileName = QFileDialog::getOpenFileName(
                this,                               //父组件
                tr("打开文件"),                          //对话框标题
                "./",                                    //默认目录
                tr("all(*.*);;cpp(*.cpp);;Image Files(*.png *.jpg *.bmp *.gif)"));  //过滤器

    if(fileName.isSimpleText())    {
        qDebug()<< "选择成功";
        QFile file(fileName);

        //判断文件是否存在
        if(!file.exists()){
            qDebug()<<"文件不存在";
            return;
        }
        if(!file.open(QIODevice::ReadWrite))
        {
            qDebug()<<"文件打开失败";
            return;
        }

        //读取文件中的数据
        QByteArray text=file.readAll();
        //将内容读入
        ui->textEdit->setText(QString::fromLocal8Bit(text));
        //关闭文件
        file.close();
    }
    else     {
        qDebug()<< "取消选择";
    }

}

//保存文件按钮
void widget::on_save_clicked()
{
    QString fileName = QFileDialog::getSaveFileName(
                this,                               //父组件
                tr("保存文件"),                          //对话框标题
                "./",                                    //默认目录
                tr("txt(*.txt)"));  //过滤器
    //实例化文件
    QFile file(fileName);


    if(!file.open(QIODevice::ReadWrite))
    {
        qDebug()<<"文件打开失败";
        return;
    }
    //ui获取文本内容
    QString msg=ui->textEdit->toPlainText();

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

    file.close();

}

void widget::on_save_2_clicked()
{
    close();
}

void widget::on_backcolor_clicked()
{
    // Specify semi-transparent blue
    QColor c=QColorDialog::getColor(
                Qt::blue,
                nullptr,
                QString(),
                QColorDialog::ShowAlphaChannel);

    if (c.isValid()) {

        qDebug()<< "颜色选择成功";
        ui->textEdit->setTextBackgroundColor(c);
    } else {

        qDebug()<< "取消选择";
    }
}

 

一、发布软件

1> 配置系统环境

将qt安装路径下的bin目录,放入系统环境变量中

将qt的工具下的bin目录,放入系统环境变量中

2> 在qt_creator中,以release的形式运行一下程序

 

3> 在影子目录下,找到release文件夹中的可执行程序

4> 将可执行程序复制到一个新的文件夹中

5> 在当前文件夹的空白处,按shift+右键,选择在powershell打开,输入相关指令,并执行

6> 此时,该文件夹中出现多个文件,说明发布成功,可用打包发给好友即可

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值