QT DAY3

这篇具有很好参考价值的文章主要介绍了QT DAY3。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

完善文本编辑器

1.mainwindow.h文件

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QDebug>
#include <QIcon>
#include <QLabel>
#include <QLineEdit>
#include <QPushButton>
#include <QMessageBox>

#include <QFontDialog>
#include <QFont>
#include <QColorDialog>
#include <QColor>
#include <QFileDialog>
#include <QFile>

namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = nullptr);
    ~MainWindow();

private slots:
    void on_fontBtn_clicked();

    void on_colorBtn_clicked();

    void on_openBtn_clicked();

    void on_saveBtn_clicked();

private:
    Ui::MainWindow *ui;
};

#endif // MAINWINDOW_H

2.mainwindow.cpp文件

#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_fontBtn_clicked()
{
    //字体
    bool ok;
    QFont f=QFontDialog::getFont(
                &ok,
                QFont("宋体",10,4,false),
                this,
                "选择字体");
    if(ok)
    {
        ui->textEdit->setCurrentFont(f);
    }
    else
    {
        QMessageBox::information(
                    this,
                    "提示",
                    "用户没有选择字体");
    }
}

void MainWindow::on_colorBtn_clicked()
{
    QColor c= QColorDialog::getColor(QColor(100,100,100),
                                     this,
                                     "选择字体颜色");
    if(c.isValid())
    {
        ui->textEdit->setTextColor(c);

    }
    else {
        QMessageBox::information(
                    this,
                    "提示",
                    "用户没有选择字体颜色");
    }
    QColor b= QColorDialog::getColor(QColor(100,50,30),
                                     this,
                                     "选择字体背景颜色");
    if(b.isValid())
    {
        ui->textEdit->setTextBackgroundColor(b);
    }
    else {
        QMessageBox::information(
                    this,
                    "提示",
                    "用户没有选择字体背景颜色");
    }
}

void MainWindow::on_openBtn_clicked()
{
    QString filename=QFileDialog::getOpenFileName(
                this,
                "选择文件",
                "./",
                "所有文件(*.*);;头文件(*.h);;图片(*.png *.jpg *.xpm);;文本(*.txt)");

    qDebug()<<filename;

    //1.实例化文件对象
    QFile file(filename);

    //2.判断文件是否存在
    if(!file.exists())
    {
        QMessageBox::information(this,"提示","文件不存在");
        return;
    }

    //3.打开文件
    if(!file.open(QIODevice::ReadWrite))
    {
         QMessageBox::information(this,"错误","文件打开失败");
    }

    //4.文件读写
    QByteArray msg=file.readAll();

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

    //将读取下来的数据展示到UI界面的文本框上
//    ui->textEdit->setText(QString::fromLocal8Bit(msg));
    ui->textEdit->setText(QString::fromUtf8(msg));

}

void MainWindow::on_saveBtn_clicked()
{
    QString filename=QFileDialog::getSaveFileName(
                this,
                "选择文件",
                "./",
                "所有文件(*.*);;头文件(*.h);;图片(*.png *.jpg *.xpm);;文本(*.txt)");

    qDebug()<<filename;

    //1.实例化文件对象
    QFile file(filename);

    //2.判断文件是否存在
    if(!file.exists())
    {
        QMessageBox::information(this,"提示","文件不存在");
        return;
    }

    //3.打开文件
    if(!file.open(QIODevice::Append))
    {
         QMessageBox::information(this,"错误","文件打开失败");
    }

    //4.获取UI界面的文本框上的数据
    QString msg_1=ui->textEdit->toPlainText();
    QString msg_2="\n";
    QString msg=msg_2+msg_1;

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

    //6.关闭文件
    file.close();
    QMessageBox::information(this,"提示","文件保存成功");
}

打开功能展示

QT DAY3,qt,命令模式,开发语言

 保存功能展示

QT DAY3,qt,命令模式,开发语言

 文章来源地址https://www.toymoban.com/news/detail-540601.html

到了这里,关于QT DAY3的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • C语言每日一练------(Day3)

    本专栏为c语言练习专栏,适合刚刚学完c语言的初学者。本专栏每天会不定时更新,通过每天练习,进一步对c语言的重难点知识进行更深入的学习。 今天练习题的: 尼科彻斯定理 等差数列 💓博主csdn个人主页:小小unicorn ⏩专栏分类:C语言天天练 🚚代码仓库:小小

    2024年02月10日
    浏览(41)
  • 驱动开发 day3

    1.如何创建节点         手动创建:mknod 地址 设备文件类型 主设备号 次设备号(0 - 255)         自动创建:devfs (创建节点的逻辑在内核 --- 2.4版本以前使用)                           udev  (创建节点的逻辑在应用层)                           mdev (轻量级的udev) 2.udev的

    2024年02月07日
    浏览(44)
  • 【驱动开发day3作业】

    head.h  应用层代码 灯驱动代码 蜂鸣器驱动代码 风扇驱动代码 马达驱动代码  测试结果:    

    2024年02月15日
    浏览(41)
  • 驱动开发 day3 9/12

    通过内核提供的驱动注册api获取设备号,为创建设备文件提供设备号 通过内核提供的class_create( )创建一个设备类,向上提交目录信息:构造struct class 变量并初始化,创建一个设备类的目录:/sys/class/类名 API: 通过内核提供的device_create( )以及获取的设备号创建该类设备中的一

    2024年02月09日
    浏览(41)
  • Linux驱动开发(Day3)

    思维导图:   驱动点灯:    

    2024年02月11日
    浏览(46)
  • 【C语言】每日一题(半月斩)——day3

    目录 一,选择题 1.已知函数的原型是: int fun(char b[10], int *a); 2、请问下列表达式哪些会被编译器禁止【多选】( ) 3、以下程序的输出结果为( )  4、下面代码段的输出是( )  5、下列不能实现死循环的是( )  二,编程题 1.记负均正 2.旋转数组的最小数字 1.已知函数的

    2024年02月07日
    浏览(39)
  • C语言:选择+编程(每日一练Day3)

    目录 选择题: 题一: 题二: 题三: 题四: 题五: 编程题: 题一:记负均正 思路一: 题二:旋转数组的最小数字 思路一: 1、已知函数的原型是: int fun(char b[10], int *a); ,设定义: char c[10];int d; , 正确的调用语句是 ( ) A: fun(c,d);     B: fun(c,d);    C: fun(c,d);    D: f

    2024年02月09日
    浏览(45)
  • vim的使用介绍以及命令大全(系统性学习day3)

                                                                                        懒羊羊感谢大家的关注和三连支持~  目录 前言 一、vim的使用介绍 二、命令大全 1.命令模式 (1)复制(配合粘贴命令p使用) (2)剪切 (3)粘贴 (4)删除 (5)撤销/恢复  (

    2024年02月08日
    浏览(41)
  • QT支持多种开发语言

    QT主要是一个C++应用程序框架,但它也提供了对其他一些编程语言的官方或非官方支持。以下是QT支持的一些语言版本及其特点。北京木奇移动技术有限公司,专业的软件外包开发公司,欢迎交流合作。 1.Python (PyQt)  : PyQt是QT的官方Python绑定,允许Python开发者使用QT库来创建

    2024年04月29日
    浏览(49)
  • 【Visual Studio】Qt 的实时绘图曲线功能,使用 C++ 语言,配合 Qt 开发串口通信界面

    知识不是单独的,一定是成体系的。更多我的个人总结和相关经验可查阅这个专栏:Visual Studio。 战斗背景:做了个串口接收界面,用来接收传输过来的信号。但是光用数字显示太单调,需要用图线显示出来。 战略目标:干掉它。 战术路线:Qt 绘图可以使用 Qt Charts,先了解

    2024年02月11日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包