Linux 学习记录48(QT篇待完成)

Linux 学习记录48(QT篇)

在这里插入图片描述

本文目录

  • Linux 学习记录48(QT篇)
  • 一、
    • 1.
    • 2.
  • 二、
  • 三、
  • 四、
  • 练习
    • 1. 自制文本编辑器
      • (0. main.cpp
      • (1. txt_window.h
      • (2. txt_window.cpp
    • 2. 登录界面完善

一、

1.

2.

二、

三、

四、

练习

1. 自制文本编辑器

在这里插入图片描述
在这里插入图片描述

(0. main.cpp

#include "txt_window.h"#include <QApplication>int main(int argc, char *argv[])
{QApplication a(argc, argv);Txt_Window w;w.show();return a.exec();
}

(1. txt_window.h

#ifndef TXT_WINDOW_H
#define TXT_WINDOW_H#include <QMainWindow>#include <QGridLayout>
#include <QString>
#include <QPushButton>
#include <QDebug>
#include <QLabel>
#include <QIcon>
#include <QMovie>
#include <QLineEdit>
#include <QFont>
#include <QFontDialog>
#include <QVBoxLayout>
#include <QMessageBox>
#include <QImage>
#include <QColor>
#include <QColorDialog>
#include <QFile>
#include <QFileDialog>
#include <QAbstractButton>#include <QTextEdit>QT_BEGIN_NAMESPACE
namespace Ui { class Txt_Window; }
QT_END_NAMESPACEclass Txt_Window : public QMainWindow
{Q_OBJECTpublic:Txt_Window(QWidget *parent = nullptr);~Txt_Window();private slots:/*字体*/void font_t_signals(void);/*颜色*/void colour_t_signals(void);/*打开文件*/void open_f_signals(void);/*保存文件*/void save_f_signals(void);private:Ui::Txt_Window *ui;QPushButton *font_t;//字体QPushButton *colour_t;//颜色QPushButton *open_f;//打开文件QPushButton *save_f;//保存文件QTextEdit* text;
};
#endif // TXT_WINDOW_H

(2. txt_window.cpp

#include "txt_window.h"
#include "ui_txt_window.h"Txt_Window::Txt_Window(QWidget *parent): QMainWindow(parent), ui(new Ui::Txt_Window)
{ui->setupUi(this);//设置固定尺寸this->setFixedSize(600,360);this->setWindowTitle("Qt window");//当前界面尺寸//设置窗口图标this->setWindowIcon(QIcon(":/new/prefix1/Qt_w.png"));//设置窗口图标this->setMouseTracking(true);/***********************动图设置***********************/// 创建一个QMovie对象,并加载动态图文件QMovie* movie = new QMovie (":/new/prefix1/cre.gif");// 创建一个QLabel用于显示动态图QLabel* label = new QLabel (this);// 将QMovie与QLabel关联label->setMovie(movie);label->resize(600,360);label->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);label->setScaledContents(true);movie->start();//开始播放动态图/***********************文本编辑器设置***********************/text = new QTextEdit (this);text->resize(550,250);text->move(25,10);text->setStyleSheet("border:none;border-radius:10px;background-color:rgba(105,105,105,200);color:#fff");// 设置样式表/***********************按钮设置***********************/int Button_size[2]={80,40};//登录/取消按键设置int Y = 290;int dt_X = 60;font_t = new QPushButton ("字体",this);colour_t = new QPushButton ("颜色",this);open_f = new QPushButton ("打开文件",this);save_f = new QPushButton ("保存文件",this);font_t->resize(Button_size[0],Button_size[1]);font_t->move(50+dt_X,Y);font_t->setStyleSheet("border:none;border-radius:10px;background-color:rgba(60,179,113);color:#fff");colour_t->resize(Button_size[0],Button_size[1]);colour_t->move(150+dt_X,Y);colour_t->setStyleSheet("border:none;border-radius:10px;background-color:rgba(60,179,113);color:#fff");open_f->resize(Button_size[0],Button_size[1]);open_f->move(250+dt_X,Y);open_f->setStyleSheet("border:none;border-radius:10px;background-color:rgba(60,179,113);color:#fff");save_f->resize(Button_size[0],Button_size[1]);save_f->move(350+dt_X,Y);save_f->setStyleSheet("border:none;border-radius:10px;background-color:rgba(60,179,113);color:#fff");connect(font_t,&QPushButton::clicked,this,&Txt_Window::font_t_signals);connect(colour_t,&QPushButton::clicked,this,&Txt_Window::colour_t_signals);connect(open_f,&QPushButton::clicked,this,&Txt_Window::open_f_signals);connect(save_f,&QPushButton::clicked,this,&Txt_Window::save_f_signals);
}/*字体*/
void Txt_Window::font_t_signals(void)
{bool ok;QFont font_t =  QFontDialog::getFont(&ok,QFont("黑体",10,2,false),this,"选择字体");if(ok){/*选择了字体*/text->setCurrentFont(font_t);//设置当前选中的字体}else{/*未选择字体*/QMessageBox::warning(this,"font error!!",//"未选择字体",//QMessageBox::Ok | QMessageBox::Cancel);}
}/*颜色*/
void Txt_Window::colour_t_signals(void)
{/*颜色选择对话框*/QColor color_t = QColorDialog::getColor(QColor(100,100,100),this,"选择颜色");if(color_t.isValid()){/*选择颜色合法*/text->setTextColor(color_t);}else{/*未选择颜色/不合法*/QMessageBox::warning(this,"Color error!!",//"未选择颜色/不合法",//QMessageBox::Ok | QMessageBox::Cancel);}
}/*打开文件*/
void Txt_Window::open_f_signals(void)
{/*打开文件选择对话框*/QString filename = QFileDialog::getOpenFileName(this,"选择文件","./","所有文件(*.*);;头文件(*.h);;图片(*.png *.xpm *.jrp)");//过滤器QFile file(filename);if(!file.exists()){/*提示文件不存在*/QMessageBox::warning(this,"file error!!",//"文件不存在",//QMessageBox::Ok | QMessageBox::Cancel);return;}if(!file.open(QIODevice::ReadOnly)){/*打开失败*/QMessageBox::warning(this,"file error!!",//"打开失败",//QMessageBox::Ok | QMessageBox::Cancel);return;}QByteArray msg = file.readAll();this->text->setText(QString::fromLocal8Bit(msg));file.close();
}/*保存文件*/
void Txt_Window::save_f_signals(void)
{/*打开文件选择对话框*/QString filename = QFileDialog::getOpenFileName(this,"选择文件","./","所有文件(*.*);;头文件(*.h);;图片(*.png *.xpm *.jrp)");//过滤器QFile file(filename);if(!file.exists()){/*提示文件不存在*/QMessageBox::warning(this,"file error!!",//"文件不存在",//QMessageBox::Ok | QMessageBox::Cancel);return;}if(!file.open(QIODevice::ReadWrite | QIODevice::Text)){/*打开失败*/QMessageBox::warning(this,"file error!!",//"打开失败",//QMessageBox::Ok | QMessageBox::Cancel);return;}QString text_buf = text->toPlainText();file.write(text_buf.toLocal8Bit());file.close();
}Txt_Window::~Txt_Window()
{delete ui;
}

2. 登录界面完善

在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/15017.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

自定义对象作为HashMap的键,同时重写hashCode和equals方法

如果要将自定义类的实例 作为HashMap的 键&#xff0c;必须重写hashCode和equals方法 简单版本&#xff0c;看不懂看后面复杂版本解释 复杂版本解释 当我们用 HashMap存入自定义的类时&#xff0c;如果不重写这个自定义类的equals和hashCode方法&#xff0c;得到的结果会和我们…

MySQL库表操作作业

创建数据库 mysql> create database Market; mysql> use Market; 创建表和约束 mysql> create table customers(c_num int(11) primary key not null UNIQUE Key auto_increment , -> c_name varchar(50), -> c_city varchar(50), -> c_birth datetime…

【华为认证】HCIP-Datacom 2023最新题库

正在备考华为认证的小伙伴应该知道&#xff0c;除了理论知识外&#xff0c;刷题也相当重要&#xff0c;周工这里有一份HCIAHCIP-Datacom带解析的最新题库 点赞留言 即可领取。 1. &#xff08;多选题&#xff09;ISIS的Hello报文主要分为哪几种类型? A.P2P LAN IIH B.…

Pytorch-ResNet50-MINIST Classify 网络实现流程

分两个文件讲解&#xff1a;1、train.py训练文件 2、test.py测试文件. 1、train.py训练文件 1&#xff09;从主函数入口开始&#xff0c;设置相关参数 # 主函数入口 if __name__ __main__:# ----------------------------## 是否使用Cuda# 没有GPU可以设置成Fasle# -…

SPEC CPU 2006 在 CentOS 5.0 x86_64 古老系统测试【2】

上一篇 SPEC CPU 2006 在 CentOS 5.0 x86_64 古老系统测试_hkNaruto的博客-CSDN博客 虚拟机时间&#xff0c;一天后获得结果 由于ssh版本太低&#xff0c;采用nc把文件拷贝出来 结果 SPEC CFP2006 Result Copyright 2006-2023 Standard Performance Evaluation Corporatio…

SpringBoot集成Quartz集群模式

<!-- quartz定时任务 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-quartz</artifactId></dependency> 单机版本&#xff1a; SpringBoot集成Quartz动态定时任务_jobgroupname_小…

09_Linux内核定时器

目录 Linux时间管理和内核定时器简介 内核定时器简介 Linux内核短延时函数 定时器驱动程序编写 编写测试APP 运行测试 Linux时间管理和内核定时器简介 学习过UCOS或FreeRTOS的同学应该知道, UCOS或FreeRTOS是需要一个硬件定时器提供系统时钟,一般使用Systick作为系统时钟…

人工智能(pytorch)搭建模型17-pytorch搭建ReitnNet模型,加载数据进行模型训练与预测

大家好&#xff0c;我是微学AI&#xff0c;今天给大家介绍一下人工智能(pytorch)搭建模型17-pytorch搭建ReitnNet模型&#xff0c;加载数据进行模型训练与预测&#xff0c;RetinaNet 是一种用于目标检测任务的深度学习模型&#xff0c;旨在解决目标检测中存在的困难样本和不平衡…

Maven学习

1.配置环境变量 1.M2_HOME Maven的安装目录 2.修改Path %M2_HOME%\bin2.配置IDEA 配置文件的地址 本地仓库的地址 修改配置文件的路径 修改本地仓库的目录 注意&#xff0c;这里的路径的分隔符必须是/ 配置镜像 <mirror><id>aliyunmaven</id><mi…

在idea中使用Git技术

1.配置git环境 打开idea,点击file->setting->搜索git&#xff0c; 将git的安装路径填写进去 2.去gitee创建一个远程仓库 3.拉入一个.gitignore文件&#xff0c;过滤掉不需要管理的文件 4.在idea进行如下操作 5.选择要提交的内容 目前只是保存在了本地仓库 6.推送到远端…

SEGA: Semantic Guided Attention on Visual Prototype for Few-Shot Learning

方法比较简单&#xff0c;利用语义改进prototype&#xff0c;能促进性提升

十二、Docker Compose 介绍与安装

学习参考&#xff1a;尚硅谷Docker实战教程、Docker官网、其他优秀博客(参考过的在文章最后列出) 目录 前言一、docker compose介绍二、docker compose能干嘛三、docker compose安装与卸载3.1 docker-compose安装3.2 docker-compose卸载 总结 前言 在使用k8s之前&#xff0c;随…