0906作业+思维导图梳理

一、作业:

1、创捷一个类似于qq登录的界面

1)源代码

#include "widget.h"
#include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);//QPushbutton:登录、退出this->join = new QPushButton("登录",this);join->resize(100,30);join->move(250,350);this->exit = new QPushButton("退出",this);exit->resize(this->join->size());exit->move(this->join->x()+this->join->width()+30,this->join->y());this->clo = new QPushButton("关闭",this);clo->resize(this->exit->size());clo->move(this->exit->x()+this->exit->width()+30,this->exit->y());//QLabel:账号,密码标签this->zhanghu = new QLabel(this);zhanghu->resize(30,30);zhanghu->move(this->join->x(),this->join->y()-100);zhanghu->setPixmap(QPixmap("C:\\Users\\22856\\Desktop\\pictrue\\userName.jpg"));zhanghu->setScaledContents(true);this->password = new QLabel(this);password->resize(30,30);password->move(this->join->x(),this->join->y()-50);password->setPixmap(QPixmap("C:\\Users\\22856\\Desktop\\pictrue\\passwd.jpg"));password->setScaledContents(true);//QLineEdit:账号文本,密码文本this->text_zhanghu = new QLineEdit(this);text_zhanghu->resize(250,30);text_zhanghu->move(this->zhanghu->x()+this->zhanghu->width()+5,this->zhanghu->y());this->text_password = new QLineEdit(this);text_password->resize(250,30);text_password->move(this->password->x()+this->password->width()+5,this->password->y());text_password->setPlaceholderText("密码");          //设置占位文本text_password->setEchoMode(QLineEdit::Password);   //设置回显模式//把登录连接到槽完成登录过程connect(this->join, &QPushButton::clicked, this, &Widget::my_slot1);//把退出连接到槽完成退出登录过程connect(this->exit, &QPushButton::clicked, this, &Widget::my_slot2);//把关闭连接到槽完成关闭界面过程connect(this->clo, &QPushButton::clicked, this, [=](){this->close();});}Widget::~Widget()
{delete ui;
}
void Widget::my_slot1()
{if(this->text_zhanghu->text()==this->text_password->text()){qDebug() <<"登录成功";//打开一个新界面}else{qDebug() <<"登录失败,请重新输入";this->text_password->clear();}
}
void Widget::my_slot2()
{this->text_password->clear();this->text_zhanghu->clear();qDebug() <<"退出登录";
}

2)头文件

#ifndef WIDGET_H
#define WIDGET_H#include <QWidget>
#include <QPushButton>
#include <QLabel>
#include <QLineEdit>
#include <QDebug>
#include <QIcon>
#include <QMovie>QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACEclass Widget : public QWidget
{Q_OBJECT
//提前声明
public slots:void my_slot1();void my_slot2();public:Widget(QWidget *parent = nullptr);~Widget();private:Ui::Widget *ui;QPushButton *join;QPushButton *exit;QPushButton *clo;QLabel *zhanghu;QLabel *password;QLineEdit *text_zhanghu;QLineEdit *text_password;
};
#endif // WIDGET_H

3)运行结果

2、创建一个自己的独占智能指针类

代码:

#include <iostream>using namespace std;template <class T>
class my_unique_ptr
{
private:T *ptr;
public:explicit my_unique_ptr(T* p)noexcept{// p = nullptr;this->ptr = p;}//构造函数~my_unique_ptr() noexcept{delete ptr;}      //析构函数T& operator*() const{return *ptr;}          //重载*操作符T* operator->() const noexcept{;return ptr;}//重载->操作符my_unique_ptr(const my_unique_ptr &)=delete ;//禁用拷贝构造函数my_unique_ptr & operator=(const my_unique_ptr &)=delete ;//禁用赋值函数my_unique_ptr(my_unique_ptr &&p) noexcept{this->ptr = p.ptr;}//右值拷贝构造引用my_unique_ptr& operator=(my_unique_ptr &&p) noexcept{this->ptr = p.ptr;}//右值赋值引用
};class Test
{
public:string name;
public:Test(){cout<<"无参构造"<<endl;}Test(string n):name(n){cout<<"有参构造"<<endl;}~Test(){cout<<"析构函数"<<endl;}
};int main()
{Test *p1 = new Test("张三");my_unique_ptr<Test> a(p1);cout<<(*p1).name<<endl;cout<<p1->name<<endl;cout<<(*a).name<<endl;cout<<a->name<<endl;cout<<"***********"<<endl;return 0;
}

运行结果:

二、思维导图

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

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

相关文章

代码随想录训练营 Day56打卡 图论part06 108. 冗余连接 109. 冗余连接II

代码随想录训练营 Day56打卡 图论part06 一、卡码108. 冗余连接 题目描述 有一个图&#xff0c;它是一棵树&#xff0c;他是拥有 n 个节点&#xff08;节点编号1到n&#xff09;和 n - 1 条边的连通无环无向图&#xff08;其实就是一个线形图&#xff09;&#xff0c;如图&…

二、Android Studio集成ffmpeg so

目录 1、前言 2、新建AS工程 2.1 选择Native C 2.2 按图编辑和编辑 2.3 选择C标准 2.4 最初工程目录展示 3、拷贝so库到AS 4、编辑CMakeLists.txt 5、修改build.gradle 6、编辑Native-lib.cpp 7、修改MainActivity.java 8、效果展示 1、前言 本文章之前也是参考了…

HTML5中IndexedDB前端本地数据库

一、indexedDB为何替代了Web SQL Database&#xff1f; 跟小朋友的教育从来没有什么“赢在起跑线”这种说法一样&#xff0c;在前端领域&#xff0c;也不是哪来先出来哪个就在日后引领风骚的。 HTML5 indexedDB和Web SQL Database都是本地数据库数据存储&#xff0c;Web SQL Da…

DX-5009N 10G交换机 SFP接口+猫棒 代替运营商光猫 【注册状态O5但是无法PPPoe拨号踩坑——交换机VLAN配置】

买了个诺基亚 猫棒&#xff0c;准备代替光猫&#xff0c;还弱电箱一个清净 参数填完一切正常&#xff0c;注册状态O5 但是openwrt拨号死活上不去。windows拨号也是651 网络架构 SPF口与网口8为同一vlan&#xff0c;做光电转换&#xff0c;交给路由器wan口 路由器PPPoe拨号 1-7网…

『功能项目』播放动画时禁止点击移动【40】

我们打开上一篇39GameObject对象池 - 第三职业的项目&#xff0c; 本章要做的事情是在第三职业播放续航攻击动画时禁止点击时触发的移动函数&#xff0c;换句话说是在播放攻击动画时禁止移动 修改脚本&#xff1a;PlayerRayClickNavigation.cs 运行项目 - 播放第三职业续航技能…

(十四)、为 SpringCloud 项目生成 Docker 镜像

文章目录 1、原理2、最佳实践2.1、获得 SpringCloud 微服务启动模块的 jar 文件2.2、准备文件夹和 Dockerfile 文件2.3、 Dockerfile 文件的内容2.4、通过命令行构件新镜像 3、异常情况和处理&#xff1a;failed to create LLB definition3.1、现象3.2、解决配置国内镜像仓库清…

OpenGL——着色器画一个点

一、 绘制 在窗口中间画一个像素点&#xff1a; #include <GL/glew.h> #include <GLFW/glfw3.h> #include <iostream>using namespace std;#define numVAOs 1GLuint renderingProgram; GLuint vao[numVAOs];GLuint createShaderProgram () {const char *v…

SQL的增删改查CRUD练习知识点(day27)

1 学习目标 重点掌握插入单条记录的语法了解全表插入记录的语法重点掌握修改记录的语法重点掌握删除记录的语法重点掌握主键约束、外键约束了解检查约束、非空约束、唯一约束 2 数据类型 MySQL支持多种数据类型&#xff0c;大致可以分类三类&#xff1a;数值、日期和字符串。…

【Maven】Maven 下载安装教程(超详细)(day30)

1 学习目标 了解Spring了解SpringBoot重点掌握创建SpringBoot项目重点掌握聚合项目的创建了解Spring基于XML方法进行IOC和依赖注入了解Maven的概念重点掌握使用Maven构建项目重点掌握使用Maven进行依赖引入 2 Maven 2.1 概述 Maven是跨平台的项目管理工具。作为Apache组织中…

Python(一)-快速入门

第一个入门实例 print(hello python) 注释 #:单行注释""" """:多行注释 # 这是单行注释 # 输出一个喜欢读的课外书 print("我最喜欢读 追风筝的人")print("----------------------------")"""这是多…

Python爱心射线

系列目录 序号直达链接表白系列1Python制作一个无法拒绝的表白界面2Python满屏飘字表白代码3Python无限弹窗满屏表白代码4Python李峋同款可写字版跳动的爱心5Python流星雨代码6Python漂浮爱心代码7Python爱心光波代码8Python普通的玫瑰花代码9Python炫酷的玫瑰花代码10Python多…

004——双向链表和循环链表

目录 双向链表 双向链表的初始化&#xff08;与单链表类似&#xff09; 增&#xff1a; Ⅰ&#xff09;头插法 Ⅱ&#xff09;尾插法 Ⅲ&#xff09;中间插入 删 改 查 整体代码示例&#xff1a; 循环链表 循环单链表 ​编辑 循环双链表 双向链表 不同于单链表&…

2024年录屏神器大盘点,轻松捕捉屏幕精彩

现在讲解一些操作越来越便捷了&#xff0c;我 一般都是用录屏工具来边录制操作边讲解&#xff0c;这样可以更方便对方了解操作步骤。这次我就分享几款免费录屏工具一起来试试吧。 1.福晰录屏软件 链接&#xff1a;www.foxitsoftware.cn/REC/ 对于初次尝试录屏的新手来说&…

每天五分钟玩转深度学习框架PyTorch:获取神经网络模型的参数

本文重点 当我们定义好神经网络之后,这个网络是由多个网络层构成的,每层都有参数,我们如何才能获取到这些参数呢?我们将再下面介绍几个方法来获取神经网络的模型参数,此文我们是为了学习第6步(优化器)。 获取所有参数Parameters from torch import nn net=nn.Sequent…

Java | Leetcode Java题解之第397题整数替换

题目&#xff1a; 题解&#xff1a; class Solution {public int integerReplacement(int n) {int ans 0;while (n ! 1) {if (n % 2 0) {ans;n / 2;} else if (n % 4 1) {ans 2;n / 2;} else {if (n 3) {ans 2;n 1;} else {ans 2;n n / 2 1;}}}return ans;} }

UE5引擎工具链知识点

当我们提到“引擎工具链的开发”时&#xff0c;通常指的是为游戏开发或其他类型的软件开发创建一系列工具和技术栈的过程。这包括但不限于游戏引擎本身&#xff08;如Unity或Unreal Engine&#xff09;&#xff0c;以及围绕这些引擎构建的各种工具和服务&#xff0c;比如用于构…

CTFHub技能树-Git泄漏-Index

目录 一、Git索引&#xff08;Index&#xff09;的基本概念 二、解题过程 主旨&#xff1a;使用git泄漏恢复源代码 方法一&#xff1a;使用GitHack手动恢复 方法二&#xff1a;直接使用Git_Extract获取网站源代码拿去flag 当前大量开发人员使用git进行版本控制&#xff0c…

新书宣传:《量子安全:信息保护新纪元》

《量子安全&#xff1a;信息保护新纪元》 前言本书的看点本书的目录结语 前言 你好&#xff01; 这是我第一次发布类广告的博文&#xff0c;目的也很单纯&#xff0c;希望以作者的身份介绍一下自己出版的图书——《量子安全&#xff1a;信息保护新纪元》。此书于2024年7月出版…

【鸿蒙】HarmonyOS NEXT星河入门到实战1-开发环境准备

目录 一、达成目标 二、鸿蒙开发环境准备 2.1 开发者工作下载 2.2 解压安装 2.3 运行配置安装node.js和SDK 2.4 开始创建第一个项目 2.5 预览 2.5.1 预览遇到的问题&#xff08;报错&#xff09; 2.5.2 修改内容查看预览 三、备用下载地址&#xff08;如果下载是4.X版…

会声会影2024发布了没有? 会声会影2024更新哪些内容?

嘿&#xff0c;亲爱的的朋友们&#xff0c;今天我要跟大家安利一款让我彻底沉迷、不能自拔的神器 —— 会声会影2024&#xff01;如果你还在为视频编辑头疼&#xff0c;那么准备好迎接你的救星吧&#xff01; 会声会影2024是一款功能全面的视频编辑软件&#xff0c;它不仅能帮你…