QT day3

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_ziti_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_yanse_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_open_clicked()
{
    //调用QFliedialog的静态成员函数getopenfilename来获取选中文件的路径
    QString filename=QFileDialog::getOpenFileName(
    this,
    "选择文件",//父组件
     "./",//起始路劲
    "Image File(*.png *.jpg *bmp);;Text File(*.txt);;All(*.*)");//过滤器
    //判断是否有选中文件
    if(filename.isNull())
    {
        QMessageBox::information(this,"提示","你取消了文件");
    }
    qDebug()<<filename;


    //实例化一个文件对象
    QFile file(filename);       //使用获取到的文件路径,实例化一个文件对象,后期对文件的操作都是基于
                                //该对象

    //判断文件是否存在
    if(!file.exists())
    {
        return;
    }

    //打开文件
    if(!file.open(QFile::ReadWrite))
    {
        return;
    }
    // 读取文件中的内容lll
    QByteArray mas=file.readAll();

    //将内容展示到 ui界面
    ui->textEdit->setText(mas);

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

}
void Widget::on_baocun_clicked()//保存文件
{
    QString filename=QFileDialog::getSaveFileName(
    this,
    "保存文件",//父组件
     "./",//起始路劲
    "Image File(*.png *.jpg *bmp);;Text File(*.txt);;All(*.*)");//过滤器
    //判断是否有选中文件
    if(filename.isNull())
    {
        QMessageBox::information(this,"提示","你取消了文件");
    }
    qDebug()<<filename;


    //创造一个实例对象
    QFile file(filename);       //使用获取到的文件路径,实例化一个文件对象,后期对文件的操作都是基于
                                //该对象

    //    //判断文件是否存在
    //    if(!file.exists())
    //    {
    //        return;
    //    }

    //打开文件
    if(!file.open(QFile::WriteOnly))//QFile::Truncate))
    {
        return;
    }
    // 读取文件中的内容

    QString save=ui->textEdit->toPlainText();

    QByteArray sa=save.toUtf8();
    file.write(sa);

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

}
相关推荐
小高不明14 分钟前
前缀和一维/二维-复习篇
开发语言·算法
龘龍龙18 分钟前
Python基础(八)
开发语言·python
SoveTingღ1 小时前
【问题解析】我的客户端与服务器交互无响应了?
服务器·c++·qt·tcp
幺零九零零1 小时前
Golang-Swagger
开发语言·后端·golang
陌路物是人非2 小时前
记一个 @Resource BUG
java·开发语言·bug
怎么就重名了2 小时前
记录Qt的UDP通信丢包问题
开发语言·qt·udp
superman超哥2 小时前
Rust 闭包的定义与捕获:所有权系统下的函数式编程
开发语言·后端·rust·函数式编程·rust闭包·闭包的定义与捕获
曹牧2 小时前
Java:Math.abs()‌
java·开发语言·算法
期待のcode2 小时前
Java的泛型
java·开发语言
沐知全栈开发2 小时前
PostgreSQL 删除数据库指南
开发语言