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();

}
相关推荐
AI街潜水的八角29 分钟前
Python电脑屏幕&摄像头录制软件(提供源代码)
开发语言·python
hadage23331 分钟前
--- git 的一些使用 ---
开发语言·git·python
lly2024063 小时前
HTML与CSS:构建网页的基石
开发语言
一只会写代码的猫3 小时前
面向高性能计算与网络服务的C++微内核架构设计与多线程优化实践探索与经验分享
java·开发语言·jvm
是小胡嘛4 小时前
C++之Any类的模拟实现
linux·开发语言·c++
csbysj20205 小时前
Vue.js 混入:深入理解与最佳实践
开发语言
Gerardisite7 小时前
如何在微信个人号开发中有效管理API接口?
java·开发语言·python·微信·php
Want5957 小时前
C/C++跳动的爱心①
c语言·开发语言·c++
coderxiaohan7 小时前
【C++】多态
开发语言·c++
gfdhy7 小时前
【c++】哈希算法深度解析:实现、核心作用与工业级应用
c语言·开发语言·c++·算法·密码学·哈希算法·哈希