学QT的第三天~
ikun登录界面完善
#include "mywidget.h"
void MyWidget::bth1()
{
if(edit3 ->text()=="520cxk"&&edit4 ->text()=="1314520")
{
//1.实例化一个QmessageBox类的对象
QMessageBox box(QMessageBox::Information, //图标
"恭喜你", //对话框
"登陆成功?", //对话框文本
QMessageBox::Ok, //提供的按钮
this); //父组件
//2.调用成员函数,进入执行态
//exec函数的返回值是用户点击的对话框上面的按钮
int res =box.exec();
//3.对用户点击的按钮进行判断
if(res==QMessageBox::Ok)
{
qDebug()<< "你好,真爱粉";
jump();
this->close();
}
}
else
{
speecher->say("死黑粉,唉哟,你干嘛!");
int bth = QMessageBox::warning(this, //父组件
"密码错误", //标题
"小黑子,露出鸡脚了吧,是否重新登录", //文本内容
QMessageBox::Yes|QMessageBox::No, //提供的按钮
QMessageBox::Yes);//默认选中的按钮
if(bth==QMessageBox::Yes)
{
this->edit3->clear();
this->edit4->clear();
}else if(bth==QMessageBox::No)
{
this->close();
}
}
}
void MyWidget::line()
{
QString str=edit3->text();
if(str.size()<6)
{
this->bth2->setStyleSheet("background-color:red");
}else if(str.size()==6)
{
this->bth2->setStyleSheet("background-color:green");
}else
{
this->bth2->setStyleSheet("background-color:yellow");
}
}
void MyWidget::bth3_myslots()
{
//1.实例化一个QmessageBox类的对象
QMessageBox box(QMessageBox::Question, //图标
"问题对话框", //对话框
"你确定要离开哥哥吗?", //对话框文本
QMessageBox::Yes|QMessageBox::No, //提供的按钮
this); //父组件
//2.调用成员函数,进入执行态
//exec函数的返回值是用户点击的对话框上面的按钮
int res =box.exec();
//3.对用户点击的按钮进行判断
if(res==QMessageBox::Yes)
{
this->close();
}else if(res==QMessageBox::No)
{
qDebug()<<"要荔枝";
}
}
MyWidget::MyWidget(QWidget *parent)
: QWidget(parent)
{
speecher =new QTextToSpeech;
//============窗口相关设置==========//
this->resize(427,330);
this->setFixedSize(427,330);
//设置图标
this->setWindowIcon(QIcon("C:\\Users\\Admin\\Desktop\\pictrue\\dahz.jpg"));
//设置窗口标题
this->setWindowTitle("唉哟,你干嘛!");
//去掉头部
this->setWindowFlag(Qt::FramelessWindowHint);
//=========标签相关设置=============//
QLabel *lab01=new QLabel(this);
//设置大小
lab01->resize(427,330);
//设置动图
QMovie *mv= new QMovie("C:\\Users\\Admin\\Desktop\\pictrue\\aix.gif");
//将动图放入标签中
lab01->setMovie(mv);
//让动图动起来
mv->start();
//自动适应
lab01->setScaledContents(true);
//创建一个标签
QLabel *lab1=new QLabel("密码:",this);
lab1->move(155,195);
lab1->resize(100,50);
//创建第二个标签
QLabel *lab2=new QLabel("ikun:",this);
lab2->move(155,135);
lab2->resize(100,50);
//创建第三个标签
QLabel *lab3=new QLabel(this);
lab3->move(100,135);
lab3->resize(50,50);
lab3->setPixmap(QPixmap(":/pictrue/xhz.webp"));
lab3->setScaledContents(true);
//创建第四个标签
QLabel *lab4=new QLabel(this);
lab4->move(100,195);
lab4->resize(50,50);
lab4->setPixmap(QPixmap(":/pictrue/dahz.jpg"));
lab4->setScaledContents(true);
//创建第五个标签
QLabel *lab5=new QLabel(this);
lab5->move(395,0);
lab5->resize(30,30);
lab5->setPixmap(QPixmap(":/pictrue/cancel.png"));
lab5->setScaledContents(true);
//创建第六个标签
QLabel *lab6=new QLabel(this);
lab6->move(155,20);
lab6->resize(150,80);
//设置动图
QMovie *mv2= new QMovie(":/pictrue/daf.gif");
//将动图放入标签中
lab6->setMovie(mv2);
//让动图动起来
mv2->start();
//自动适应
lab6->setScaledContents(true);
//=========行编译器相关设置=============//
//创建第一个行编译器
edit4 =new QLineEdit(this);
edit4->move(200,210);
edit4->setPlaceholderText("密码");
edit4->setEchoMode(QLineEdit::Password);
//创建第二个行编译器
edit3 =new QLineEdit(this);
edit3->move(200,150);
//设置占位
edit3->setPlaceholderText("QQ号/手机号/邮箱");
connect(this->edit3,&QLineEdit::textChanged,this,&MyWidget::line);
//=========按钮设置==============//
bth2 =new QPushButton("登录",this);
bth2->move(200,260);
bth2->resize(60,25);
//样式函数setStylesheet()
bth2->setStyleSheet("background-color:rgb(8,189,253)");
connect(this->bth2,&QPushButton::clicked,this,&MyWidget::bth1);
bth3 =new QPushButton("退出",this);
bth3->move(280,260);
bth3->resize(60,25);
//样式函数setStylesheet()
bth3->setStyleSheet("background-color:rgb(8,189,253)");
connect(this->bth3,&QPushButton::clicked,this,&MyWidget::bth3_myslots);
}
MyWidget::~MyWidget()
{
}
文本编辑器完善
#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_btn1_clicked()
{
//调用字体对话框,用于选择字体
bool ok=false;
QFont f=QFontDialog::getFont(&ok,
QFont("宋体",10,10,true),
this,
"选择字体");
if(ok)
{
ui->textEdit->setCurrentFont(f);
}
}
void Widget::on_btn2_clicked()
{
QColor c=QColorDialog::getColor(QColor("red"),
this,
"选择颜色");
if(c.isValid()==true)
{
ui->textEdit->setTextBackgroundColor(c);
}
}
void Widget::on_btn3_clicked()
{
QString fileName= QFileDialog::getOpenFileName(this, //父组件
"选择文件", //对话框
"./", //起始路径
"all(*.*);;images(*.pang *.jpg *.gif);;源文件(*.cpp)");//过滤器
qDebug()<< fileName;
//文件操作
//1.通过文件路径实例化一个文件对象
QFile file(fileName);
//2.打开文件
if(file.open(QFile::ReadOnly)==false)
{
QMessageBox::information(this,"提升","文件打开失败");
return;
}
//3.读取文件中的内容
QByteArray msg=file.readAll();
//4.将读取出来的数据,展示到文本编译器中
ui->textEdit->setText(msg);
//5.关闭文件
file.close();
}
void Widget::on_btn4_clicked()
{
QString fileName= QFileDialog::getOpenFileName(this, //父组件
"选择文件", //对话框
"./", //起始路径
"all(*.*);;images(*.pang *.jpg *.gif);;源文件(*.cpp)");//过滤器
qDebug()<< fileName;
//文件操作
//1.通过文件路径实例化一个文件对象
QFile file(fileName);
//2.打开文件
if(file.open(QFile::WriteOnly)==false)
{
QMessageBox::information(this,"提升","文件打开失败");
return;
}
//3.获取取文本框中的内容
QString str=ui->textEdit->toPlainText();
QByteArray bytearray =str.toLatin1();
char *ch=bytearray.data();
//4.将读取出来的数据,展示到文本编译器中
file.write(ch);
//5.关闭文件
file.close();
}
相关文章:

学QT的第三天~
ikun登录界面完善 #include "mywidget.h" void MyWidget::bth1() { if(edit3 ->text()"520cxk"&&edit4 ->text()"1314520") { //1.实例化一个QmessageBox类的对象 QMessageBox box(QMessageBox::Information, //图标 "恭喜…...

数据结构---时间复杂度+空间复杂度
算法(algorithm)简单说就是解决问题的方法。方法有好坏,同样算法也是,有效率高的算法,也有效率低的算法。衡量算法的好坏一般从时间和空间两个维度衡量,也就是本文要介绍的时间复杂度和空间复杂度。有些时候,时间与空间…...
Verilog 触发器状态机语言描述
触发器状态机语言描述 触发器状态机语言用于描述映射到 ILA 调试核的高级触发器逻辑的复杂触发条件。触发器状态机具有下列特性 : • 最多 16 种状态。 • 用于复杂状态转换的单向、双向和三向条件分支。 • 4 个内置 16 位计数器 , 用于对事件…...
等保保护测评试题中
二、多选题 1、防火墙提供的接入模式中包括(ABCD) A.网关模式 B.透明模式 C.混合模式 D.旁路接入模式 2、不同设VLAN之间要进行通信,可以通过 .(AB) A.交换机 B.路由器 C.网闸 D.入侵检测 E.入侵防御系统…...
SD-Turbo部署
stabilityai/sd-turbo 官网 2023 年 11 月 30 日 继推出 SDXL-Turbo 之后,我们又发布了SD-Turbo。 2023 年 11 月 28 日 我们正在发布 SDXL-Turbo,一种闪电般快速的文本到图像模型。除了模型之外,我们还发布了技术报告 用法࿱…...
【ZZULIOJ】1095: 时间间隔(函数专题)(Java)
目录 题目描述 输入 输出 样例输入 Copy 样例输出 Copy 提示 code 题目描述 从键盘输入两个时间点(24小时制),输出两个时间点之间的时间间隔,时间间隔用“小时:分钟:秒”表示。要求程序定义如下两个函数,并在main()中调用…...
Rust:文件 launch.json 有什么用?
launch.json 是 Visual Studio Code(VSCode)中的一个配置文件,主要用于配置调试器。当你在 VSCode 中进行代码调试时,launch.json 文件告诉调试器如何启动和配置你的程序。 具体来说,launch.json 文件包含了以下信息&…...
vue3实现文字垂直滚动
在Vue 3中实现文字的垂直滚动,你可以使用CSS动画或者JavaScript来控制滚动行为。以下是一个简单的Vue 3组件示例,该组件使用CSS的keyframes动画来实现文字的垂直滚动效果: <template> <div class"vertical-scroll-text"&…...

Android4.4真机移植过程笔记(三)
如果文章字体看得不是很清楚,大家可以下载pdf文档查看,文档已上传~oo~ 7、安装加密APK 需要修改文件如下: 相对Android4.2改动还是蛮大的,有些文件连路径都变了: //Android4.2 1、frameworks/native/libs…...
PostgreSQL备份恢复与复制
前言 随着国家战略层面对信息安全关注度越来越高,数据库是基础软件国产化自主可控的重要方面之一。PG是世界上最流行的开源关系型数据库之一,并且他是类BSD开源许可,开源协议非常友好,可以随意分发、闭源和开源,可以用…...

spring高级篇(八)
本篇对Spring MVC 的执行流程做一个简单总结 MVC执行流程总结 当浏览器发送一个请求,例如http://localhost:8080/hello,请求到达服务器后,一般会进行如下操作: 1、首先会经过DispatcherServlet,默认映射路径为 /&…...

UP互助 帮助UP起号做视频 支持B站和抖音
【软件名字】:UP互助 【软件版本】:1.0 【软件大小】:17.5MB 【软件平台】:安卓 【测试机型】:小米9 1.随便登个邮箱,添加自己平台的频道,然后就可以帮助别人,添加频道后在添加…...
*求问?:为何会超时(TLE)?
D - Grid and Magnet (atcoder.jp) 错误代码: //2024年5月5日14:53:43 #include <bits/stdc.h> #define move mmove //防止与头文件中重复 using namespace std; int h,w; string s[1000]; const int move[4][2]{{1,0},{-1,0},{0,1},{0,-1}}; bool used[100…...
cocosstudio工程文件(.ccs)维护问题
创建cocos工程.bat在多人合作的cocos项目中,大家公用一个ccs文件,存在的问题是如果大家都提交ccs文件比较容易出现冲突,解决冲突麻烦要耗费时间,不提交的话就拉不到其他人更新的csd文件。 方案一 解决冲突,更新提交c…...

Blender动画与云渲染:创造高质量作品的未来路径
Blender作为开源的3D图形软件,在多个领域广受欢迎。但随着项目复杂度提升,传统渲染方式受限。云渲染技术的兴起突破了这些限制,为创作者提供了更自由、高效的创作环境。 一、Blender动画项目的挑战 传统上,Blender动画渲染需要依…...
【MySQL】3.MySQL核心概念解析:数据完整性、事务处理、索引及聚簇索引与非聚簇索引
探索MySQL的内部机制,理解数据完整性、事务处理、索引策略以及聚簇索引与非聚簇索引的区别是至关重要的。这些概念构成了数据库设计和优化的基础,对于确保数据的准确性、提高查询效率、维护数据的一致性和实现复杂的数据库操作至关重要。本文将逐一剖析这…...

【netty系列-03】深入理解NIO的基本原理和底层实现(详解)
Netty系列整体栏目 内容链接地址【一】深入理解网络通信基本原理和tcp/ip协议https://zhenghuisheng.blog.csdn.net/article/details/136359640【二】深入理解Socket本质和BIOhttps://zhenghuisheng.blog.csdn.net/article/details/136549478【三】深入理解NIO的基本原理和底层…...
大数据Scala教程从入门到精通第二篇:Scala入门
一:Scala入门 1:为什么学习Scala Spark新一代内存级大数据计算框架,是大数据的重要内容 Spark就是使用Scala编写的。因此为了更好的学习Spark,需要掌握Scala这门语言 Spark的兴起,带动Scala语言的发展! 2:Scala的发展…...

Spring Data JPA数据批量插入、批量更新真的用对了吗
Spring Data JPA系列 1、SpringBoot集成JPA及基本使用 2、Spring Data JPA Criteria查询、部分字段查询 3、Spring Data JPA数据批量插入、批量更新真的用对了吗 4、Spring Data JPA的一对一、LazyInitializationException异常、一对多、多对多操作 前言 在前两篇文章已经…...

数据结构-线性表-应用题-2.2-12
1)算法的基本设计思想:依次扫描数组的每一个元素,将第一个遇到的整数num保存到c中,count记为1,若遇到的下一个整数还是等于num,count,否则count--,当计数减到0时,将遇到的下一个整数保存到c中,计…...

RocketMQ延迟消息机制
两种延迟消息 RocketMQ中提供了两种延迟消息机制 指定固定的延迟级别 通过在Message中设定一个MessageDelayLevel参数,对应18个预设的延迟级别指定时间点的延迟级别 通过在Message中设定一个DeliverTimeMS指定一个Long类型表示的具体时间点。到了时间点后…...

SpringBoot+uniapp 的 Champion 俱乐部微信小程序设计与实现,论文初版实现
摘要 本论文旨在设计并实现基于 SpringBoot 和 uniapp 的 Champion 俱乐部微信小程序,以满足俱乐部线上活动推广、会员管理、社交互动等需求。通过 SpringBoot 搭建后端服务,提供稳定高效的数据处理与业务逻辑支持;利用 uniapp 实现跨平台前…...
聊一聊接口测试的意义有哪些?
目录 一、隔离性 & 早期测试 二、保障系统集成质量 三、验证业务逻辑的核心层 四、提升测试效率与覆盖度 五、系统稳定性的守护者 六、驱动团队协作与契约管理 七、性能与扩展性的前置评估 八、持续交付的核心支撑 接口测试的意义可以从四个维度展开,首…...

html css js网页制作成品——HTML+CSS榴莲商城网页设计(4页)附源码
目录 一、👨🎓网站题目 二、✍️网站描述 三、📚网站介绍 四、🌐网站效果 五、🪓 代码实现 🧱HTML 六、🥇 如何让学习不再盲目 七、🎁更多干货 一、👨…...

Linux 中如何提取压缩文件 ?
Linux 是一种流行的开源操作系统,它提供了许多工具来管理、压缩和解压缩文件。压缩文件有助于节省存储空间,使数据传输更快。本指南将向您展示如何在 Linux 中提取不同类型的压缩文件。 1. Unpacking ZIP Files ZIP 文件是非常常见的,要在 …...

在Mathematica中实现Newton-Raphson迭代的收敛时间算法(一般三次多项式)
考察一般的三次多项式,以r为参数: p[z_, r_] : z^3 (r - 1) z - r; roots[r_] : z /. Solve[p[z, r] 0, z]; 此多项式的根为: 尽管看起来这个多项式是特殊的,其实一般的三次多项式都是可以通过线性变换化为这个形式…...
JS手写代码篇----使用Promise封装AJAX请求
15、使用Promise封装AJAX请求 promise就有reject和resolve了,就不必写成功和失败的回调函数了 const BASEURL ./手写ajax/test.jsonfunction promiseAjax() {return new Promise((resolve, reject) > {const xhr new XMLHttpRequest();xhr.open("get&quo…...
LRU 缓存机制详解与实现(Java版) + 力扣解决
📌 LRU 缓存机制详解与实现(Java版) 一、📖 问题背景 在日常开发中,我们经常会使用 缓存(Cache) 来提升性能。但由于内存有限,缓存不可能无限增长,于是需要策略决定&am…...

解读《网络安全法》最新修订,把握网络安全新趋势
《网络安全法》自2017年施行以来,在维护网络空间安全方面发挥了重要作用。但随着网络环境的日益复杂,网络攻击、数据泄露等事件频发,现行法律已难以完全适应新的风险挑战。 2025年3月28日,国家网信办会同相关部门起草了《网络安全…...
MinIO Docker 部署:仅开放一个端口
MinIO Docker 部署:仅开放一个端口 在实际的服务器部署中,出于安全和管理的考虑,我们可能只能开放一个端口。MinIO 是一个高性能的对象存储服务,支持 Docker 部署,但默认情况下它需要两个端口:一个是 API 端口(用于存储和访问数据),另一个是控制台端口(用于管理界面…...