9_28代码实现登录框 注释

news2024/9/29 2:31:47

注释:

.h

#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget> // 防止头文件重复包含

QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }  
//Ui表示命名空间的名称
//{ class Widget; } :表示在Ui命名空间中声明一个其他文件midget的类
QT_END_NAMESPACE
//QT_BEGIN_NAMESPACE  QT_END_NAMESPACE :用于管理QT命名空间的宏,避免命名冲突


class Widget : public QWidget
//对自定义类的声明,公共继承了QWidget QWidget封装了有关图形化界面的相关功能
{
    Q_OBJECT  //宏 表示信号与曹的元素对象,

public:
    Widget(QWidget *parent = nullptr); //构造函数的声明
    ~Widget(); //析构函数的声明   虚析构函数

private:
    Ui::Widget *ui;   //成员指针
};
#endif // WIDGET_H

main.cpp

#include "widget.h"
//文件包含,自定义的头文件,该头文件包含了图形化界面类
#include <QApplication>//包含应用程序的头文件

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);//应用成员类实例化对象,调用有参构造
    Widget w;//使用自定义的类调用无参构造在栈区构造一个界面对象
    w.show(); //调用对象的成员函数,将界面展示出来
    return a.exec(); //应用程序类对象,调用应用程序的成员函数,保证界面不被关闭,轮寻等待界面上的时间发生
    
}

.cpp

#include "widget.h"
#include "ui_widget.h"

Widget::Widget(QWidget *parent)  //构造函数定义
    : QWidget(parent)  //在子类的初始化列表中显示调用父类的有参构造,来完成对子类从父类的继承
    , ui(new Ui::Widget) //给自己的类中的指针成员实例化空间
{
    ui->setupUi(this); //将UI界面的组件展示在this界面上
}

Widget::~Widget()  //析构函数的定义
{
    delete ui;  //释放UI界面的组件空间
}

.pro

QT       += core gui
#引用的QT的类库,core:表示核心库 gui:表示图形优化库
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
#greaterThan:这是QT的内置函数,用于比较两个值  QT_MAJOR_VERSION:是个宏定义表示QT版本号  4:在上下文中表示QT的主板本号 
#QT:指定要链接的QT模版  widgets:QT模版用于提供创建图形用户界面的功能
#整体:表示如果QT的版本大于4,将widgets的模版添加到项目中
CONFIG += c++11 #表示支持C++的版本号为11版本

# The following define makes your compiler emit warnings if you use
# any Qt feature that has been marked deprecated (the exact warnings
# depend on your compiler). Please consult the documentation of the
# deprecated API in order to know how to port your code away from it.
DEFINES += QT_DEPRECATED_WARNINGS
#表示 是一种用于提高代码质量和维护性的编译指令,通过启用对已弃用功能的警告,帮助开发者及时更新和维护代码。
# You can also make your code fail to compile if it uses deprecated APIs.
# In order to do so, uncomment the following line.
# You can also select to disable deprecated APIs only up to a certain version of Qt.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0

SOURCES += \        #实现项目的管理
    main.cpp \      #表示要管理的源文件
    widget.cpp

HEADERS += \        #管理头文件
    widget.h        #管理的头文件

FORMS += \          #管理所以的UI文件
    widget.ui

# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target

登录框

#include "widget.h"

Widget::Widget(QWidget *parent)
    : QWidget(parent)
{


    this->setFixedSize(400,500);//设置当前界面尺寸
   // this->setStyleSheet("D:/tubiao/640.gif");//这种背景颜色为粉色
    QLabel *ptr3 = new QLabel(this);
        ptr3->resize(400,500);
        ptr3->move(0,0);
        QMovie *movie = new QMovie("D:/tubiao/640.gif");
        ptr3->setMovie(movie);
        movie->start();
        ptr3->setScaledContents(true);
   //使用QIcon实例化一个对象
    QIcon icon("D:/tubiao/icon_6dj6gprvzoq/icon_6dj6gprvzoq/tubiao-_4.png");
    this->setWindowIcon(icon);//跟换图标

    this->setWindowTitle("QQ"); //跟换窗口标题
    QPushButton * btn1=new QPushButton;
    QPushButton *btn2=new QPushButton(this);
    QPushButton *btn3=new QPushButton("登录",this);
    QPushButton *btn4=new QPushButton("注册",this);

    btn1->setParent(this); // 将当前界面设置成组件的父组件
  //  btn1->setStyleSheet("clor:white;background:skyblue;border-radius:10px;");
    btn1->setText("账号:");   //设置按钮文本内容
    btn1->resize(60,35);    //  重新设置尺寸
    btn1->move(50,150);        //移动当前按钮
  //  btn2->setStyleSheet("clor:white;background:skyblue;border-radius:10px;");
    btn2->setText("密码:");   //设置按钮文本内容
    btn2->resize(btn1->size());    //  重新设置尺寸
    btn2->move(50,200);   //移动当前按钮

   // btn3->setStyleSheet("clor:white;background:skyblue;");
    btn3->resize(btn2->size());    //  重新设置尺寸
    btn3->move(100,250);   //移动当前按钮
    btn4->resize(btn3->size());    //  重新设置尺寸
    btn4->move(200,250);   //移动当前按钮
    QLineEdit *edit1=new QLineEdit(this);
    QLineEdit *edit2=new QLineEdit(this);
    edit1->resize(200,35);
    edit2->resize(200,35);
    edit1->setPlaceholderText("请输入账号");

    edit2->setPlaceholderText("请输入密码");
    edit2->setEchoMode(QLineEdit::Password);
    edit1->move(110,150);
    edit2->move(110,200);






}

Widget::~Widget()
{
}

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

前段辅助工具分享(像素大厨)

引言&#xff1a; 我们在从事前端开发工作时&#xff0c;常会需要测量许多盒子的尺寸&#xff0c;颜色提取种种&#xff0c;切图&#xff0c;还有文字大小等信息&#xff0c;光从肉眼很难看出来&#xff0c;当然我们传统的会使用Photoshop来帮助我们完成这些工作&#xff0c;但…

LeetCode[中等] 17. 电话号码的字母组合

给定一个仅包含数字 2-9 的字符串&#xff0c;返回所有它能表示的字母组合。答案可以按 任意顺序 返回。 给出数字到字母的映射如下&#xff08;与电话按键相同&#xff09;。注意 1 不对应任何字母。 思路 回溯法 log&#xff1a;当前结果数组&#xff1b;level&#xff1a…

How to install JetBrains ToolBox in Ubuntu 22.04 LTS?

JetBrains Toolbox 的安装教程 在 2024 年 9 月 28 日&#xff0c;我想和大家分享一下 JetBrains Toolbox 的安装步骤&#xff0c;让你轻松开启高效的开发之旅。 一、准备工作 首先&#xff0c;确保你已经准备好了要安装的 JetBrains Toolbox 文件&#xff0c;可以从官方网站…

想入职网络安全?小白必看面试题(进阶版)(最终章)

大家好&#xff0c;我是Dest1ny&#xff01; 有同学问我为什么还要发面试题目。 因为我忘记发了。。。 这是最后一点面试题&#xff0c; 给大家发完&#xff01; Java基础 1. ★★☆☆☆ equals与的区别 比较引用是否相同&#xff0c;equals() 比较内容是否相同。 2. ★★…

MATLAB编写的RSSI在三维空间上的定位程序,锚点数量无限制(可自定义),带中文注释

文章目录 程序说明功能概述环境设置结果可视化函数定义运行结果程序获取 程序说明 功能概述 该程序实现了在三维空间中通过接收信号强度指示&#xff08;RSSI&#xff09;进行定位的功能。利用多个锚节点的信号强度测量&#xff0c;估计未知点的位置。该程序适用于无线定位应…

【深度学习】—线性回归 线性回归的基本元素 线性模型 损失函数 解析解 随机梯度下降

【深度学习】— 线性回归线性回归的基本元素 线性模型损失函数解析解随机梯度下降小批量随机梯度下降梯度下降算法的详细步骤解释公式 线性回归 回归&#xff08;regression&#xff09;是能为⼀个或多个⾃变量与因变量之间关系建模的⼀类⽅法。在⾃然科学和社会科学领域&…

【MYSQL】授权远程连接的用户

文章目录 一、Navicat新建查询1.点击新建查询&#xff0c;授权远程连接的用户语句&#xff1a;2.刷新权限 二、Navicat用户 一、Navicat新建查询 1.点击新建查询&#xff0c;授权远程连接的用户语句&#xff1a; GRANT ALL PRIVILEGES ON *.* TO 库的用户名授权IP IDENTIFIED …

注册器设计模式,以SparseInst(detectron2)代码为例

注册器设计模式 from detectron2.utils.registry import Registry 这里面的Registry实际上就是注册器设计模式 1.举一个简单版的小例子来理解注册器设计模式 参考&#xff1a;Python注册器设计模式_python 注册类-CSDN博客 # 这一行代码是从Python的 typing 模块中导入了一些…

3分钟教程,手把手教你使用腾讯元宝定制属于自己的AI助手

在今天这个市场&#xff0c;竞争激烈的不得了&#xff0c;大家每天都必想的问题是啥&#xff1f;是“降本增效”&#xff0c;都在想把一个人当两个人用&#xff01; 但老板有秘书&#xff0c;领导有员工&#xff0c;作为牛马的我呢&#xff1f;我左顾右盼之后发现背后空荡荡的…

大数据毕业设计选题推荐-重庆旅游景点数据分析系统-Python-Hive-Hadoop-Spark

✨作者主页&#xff1a;IT研究室✨ 个人简介&#xff1a;曾从事计算机专业培训教学&#xff0c;擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Python…

JavaScript网页设计案例:互动式简历网站

JavaScript网页设计案例&#xff1a;互动式简历网站 在现代网页设计中&#xff0c;JavaScript 是实现交互和动态效果的关键技术。本文将通过一个完整的案例&#xff0c;展示如何使用 JavaScript 构建一个交互式的个人简历网页。本文不仅会涵盖 HTML 和 CSS 的使用&#xff0c;…

机器学习:探索未知边界,解锁智能潜力

欢迎来到 破晓的历程的 博客 ⛺️不负时光&#xff0c;不负己✈️ 在这个日新月异的科技时代&#xff0c;机器学习作为人工智能领域的核心驱动力&#xff0c;正以前所未有的速度改变着我们的世界。从智能家居的个性化推荐到自动驾驶汽车的精准导航&#xff0c;从医疗诊断的辅助…

【数据结构与算法】基本概念

数据结构与算法——绪论 文章目录 一.数据结构的研究内容1.1数值计算1.2非数值计算 二.基本概念和术语2.1数据&#xff0c;数据元素&#xff0c;数据项和数据对象2.2数据结构2.2.1逻辑结构2.2.2存储结构&#xff08;物理结构&#xff09;2.2.3运算和实现 三.抽象数据类型的表示…

安装管理K8S的开源项目KubeClipper介绍

安装管理K8S的开源项目KubeClipper介绍 1. 概述 KubeClipper是九州云开源的一个图形化界面 Kubernetes 多集群管理工具&#xff0c;旨在提供易使用、易运维、极轻量、生产级的 Kubernetes 多集群全生命周期管理服务。让运维工程师从繁复的配置和晦涩的命令行中解放出来&#…

VMware下的ubuntu显示文字太小的自适应显示调整

我的情况 我使用的是4K的32寸显示器&#xff0c;分辨率为 3840 x 2160&#xff0c;ubuntu版本为18.04&#xff0c;默认的情况下系统分辨率为 3466 x 1842。 ​ 此时&#xff0c;显示的文字很小&#xff0c;虽然可以看清&#xff0c;但也比较吃力&#xff0c;在VMware窗口…

深入探索机器学习中的目标分类算法

在当今数据驱动的世界中&#xff0c;机器学习&#xff08;Machine Learning, ML&#xff09;正逐渐成为解决问题的重要工具。在众多机器学习任务中&#xff0c;目标分类&#xff08;Classification&#xff09;算法尤其受到关注。本文将深入探讨目标分类算法的基本概念、常见类…

828华为云征文|部署开源超轻量中文OCR项目 TrWebOCR

828华为云征文&#xff5c;部署开源超轻量中文OCR项目 TrWebOCR 一、Flexus云服务器X实例介绍二、Flexus云服务器X实例配置2.1 重置密码2.2 服务器连接2.3 安全组配置2.4 Docker 环境搭建 三、Flexus云服务器X实例部署 TrWebOCR3.1 TrWebOCR 介绍3.2 TrWebOCR 部署3.3 TrWebOCR…

解压视频素材下载网站推荐

在制作抖音小说推文或其他短视频时&#xff0c;找到合适的解压视频素材非常重要。以下是几个推荐的网站&#xff0c;可以帮助你轻松下载高质量的解压视频素材&#xff1a; 蛙学网 蛙学网是国内顶尖的短视频素材网站&#xff0c;提供大量4K高清无水印的解压视频素材&#xff0c;…

C++:STL(四)之vector的基本介绍与使用方式|容器接口

✨ Blog’s 主页: 白乐天_ξ( ✿&#xff1e;◡❛) &#x1f308; 个人Motto&#xff1a;他强任他强&#xff0c;清风拂山冈&#xff01; &#x1f525; 所属专栏&#xff1a;C深入学习笔记 &#x1f4ab; 欢迎来到我的学习笔记&#xff01; 一、C/C中的字符串 1.1. C语言中的…

【机器学习】——决策树以及随机森林

文章目录 1. 决策树的基本概念与结构1.1 决策树的构建过程 2. 决策树的划分标准2.1 信息增益&#xff08;Information Gain&#xff09;2.2 信息增益比&#xff08;Information Gain Ratio&#xff09;2.3 基尼指数&#xff08;Gini Index&#xff09;2.4 均方误差&#xff08;…