创建UI账号密码登录界面

头文件

#ifndef MYWND_H
#define MYWND_H#include <QPushButton>
#include <QMainWindow>class MyWnd : public QMainWindow
{Q_OBJECTpublic:MyWnd(QWidget *parent = nullptr);~MyWnd();
};
#endif // MYWND_H

源文件

#include "mywnd.h"
#include <iostream>
#include <QDebug>
#include <QLineEdit>
#include <QScrollArea>
#include <QLabel>
MyWnd::MyWnd(QWidget *parent):QMainWindow(parent)
{//登录界面操作this->resize(640,480);  //设置界面大小this->setMaximumSize(900,800);  //设置界面最大值this->setMinimumSize(QSize(640,480));  //设置界面最小值this->setFixedSize(640,480);  //设置固定尺寸qDebug()<<this->windowTitle();  //获取当前组件的窗口标题this->setWindowTitle("原神");  //将当前组件的窗口标题重命名this->setWindowIcon(QIcon("D:\\QTtupian\\原神图标.jpg"));  //将窗口标题改为指定图标//设置标签类(设置背景图片)QLabel *lab1 = new QLabel(this);lab1->resize(this->size());  //将背景图片设定成和界面一样大小lab1->setPixmap(QPixmap("D:\\QTtupian\\寂寞阿晴.gif"));  //背景图片lab1->setScaledContents(true);  //将图片填满标签//this->setWindowOpacity(0.9);  //设置透明度//this->setWindowFlag(Qt::FramelessWindowHint);  //去掉窗口头部//设置按钮QPushButton *btn1 = new QPushButton(QIcon("D:\\QTtupian\\圈.jpg"),"登录",this);//btn1->setParent(this);  //将当前界面设为父组件//btn1->setText("按钮1");  //给按钮重命名btn1->resize(100,30);   //设置按钮的大小btn1->move(160,370);  //设置按钮的位置btn1->setStyleSheet("background-color:white;border-radius:10px;"); //颜色和锐化//btn1->setEnabled(false);//构造时直接给定图标、文本内容、父组件QPushButton *btn2 = new QPushButton(QIcon("D:\\QTtupian\\叉.jpg"),"退出",this);btn2->resize(btn1->size());  //设置和按钮1的大小相同btn2->move(btn1->x()+220,btn1->y());  //移动离btn1大小为x+220,y的位置btn2->setStyleSheet("background-color:white;border-radius:10px;"); //颜色和锐化//实例化标签,并给定初始文本内容,并指定父类//账号图标QLabel *lab2 = new QLabel(this);lab2->setPixmap(QPixmap("D:\\QTtupian\\账号图标.jpg"));  //将账号图标放进标签lab2->setScaledContents(true);  //将标签填满lab2->resize(40,40);  //设置标签大小lab2->move(190,250);  //移动标签lab2->setStyleSheet("background-color:white;");  //将标签设置成白色//密码图标QLabel *lab3 = new QLabel(this);lab3->setPixmap(QPixmap("D:\\QTtupian\\密码图标.jpg"));lab3->setScaledContents(true);lab3->resize(lab2->size());lab3->move(lab2->x(),lab2->y()+50);lab3->setStyleSheet("background-color:white;");//行编辑器对象//账号行QLineEdit *edit1 = new QLineEdit(this);  //账号输入edit1->resize(250,40);  //账号行的大小edit1->move(lab2->x()+50,lab2->y());  //位置edit1->setPlaceholderText("米哈游账号/手机号/邮箱");  //设置占位文字edit1->setAlignment(Qt::AlignCenter);  //垂直水平居中//密码行QLineEdit *edit2 = new QLineEdit(this);edit2->resize(edit1->size());edit2->move(lab3->x()+50,lab3->y());edit2->setEchoMode(QLineEdit::Password);        //设置回显模式edit2->setMaxLength(6);  //限制输入密码长度edit2->setAlignment(Qt::AlignCenter);
}MyWnd::~MyWnd()
{
}

主函数

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

2、思维导图

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

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

相关文章

揭秘 ChunJun:如何实现 e2esession 日志隔离

本文将从 e2e 的基本介绍&#xff0c;e2e 的使用与扩展&#xff0c;session 日志隔离三个维度为大家带来 ChunJun e2e & session 日志隔离的分享。 大量具体代码和演示请看视频教程⬇️ 视频课程&#xff1a; https://www.bilibili.com/video/BV1ru411P7oZ/?spm_id_from3…

2023/09/07 c++qt day2

#include <iostream>using namespace std; //封装一个学生类 struct stu { private://存放学生的成绩int stu_score[256];//记录学生个数int stu_num; public://用于设置学生个数void setNum(){cout<<"请输入学生的个数"<<" ";cin>&g…

前端vue点击图片上传(带封装方法)

第一种 直接用&#xff0c;图片路径自己换一下 <template><view class"uPImg"><view class"Img">上传照片 :</view><view class"shangchuan"><view class"sc2" v-for"(item, index) in imgLi…

为什么要选择期权?开通期权有何益处?

相较于期货&#xff0c;期权的交易方式更为灵活多样&#xff0c;对标的期货市场也有较高的要求。据了解&#xff0c;在国际成熟的期权市场上&#xff0c;流动性和价格波动性是判断期货品种是否适合开展期权交易的两大关键因素&#xff0c;下文介绍为什么要选择期权&#xff1f;…

Redis 删除策略

文章目录 Redis 删除策略一、过期数据二、数据删除策略1、定时删除2、惰性删除3、定期删除4、删除策略对比 三、逐出算法 Redis 删除策略 一、过期数据 Redis是一种内存级数据库&#xff0c;所有数据均存放在内存中&#xff0c;内存中的数据可以通过TTL指令获取其状态 XX &a…

DataGrip 2023 年下载、安装教程、亲测可用

文章目录 前言1. 下载2. 安装3、DataGrip 常用操作4 推荐阅读 前言 DataGrip 是 JetBrains 发布的多引擎数据库环境&#xff0c;支持 MySQL 和 PostgreSQL&#xff0c;Microsoft SQL Server 和 Oracle&#xff0c;Sybase&#xff0c;DB2&#xff0c;SQLite&#xff0c;还有 Hy…

在SpringSecurity + SpringSession项目中如何实现当前在线用户的查询、剔除登录用户等操作

1、前言 在前一篇《在SpringBoot项目中整合SpringSession&#xff0c;基于Redis实现对Session的管理和事件监听》笔记中&#xff0c;已经实践了在SpringBoot SpringSecurity 项目中整合SpringSession&#xff0c;这里我们继续尝试如何统计当前在线用户&#xff0c;思路如下&am…

【Spatial-Temporal Action Localization(三)】论文阅读2018年

文章目录 1. AVA: A Video Dataset of Spatio-temporally Localized Atomic Visual Actions 时空局部原子视觉动作的视频数据集摘要和结论模型框架思考不足之处时间信息对于识别 AVA 类别有多重要&#xff1f;定位与识别相比有何挑战性&#xff1f;哪些类别具有挑战性&#xff…

排序算法-----插入排序

目录 前言&#xff1a; 插入排序 原理图 代码实现 分析总结 二分法插入排序 代码实现 前言&#xff1a; 嗨嗨^_^&#xff0c;米娜桑&#xff0c;今天我们继续学习排序算法中的插入排序&#xff0c;激不激动&#xff0c;兴不兴奋呢&#xff01;好了废话不多说&#xff0c;…

制作ubuntu18.04系统盘

文章目录 前言一、下载ubuntu18.04的iso文件二、制作u盘系统盘2、使用ultra来制作系统盘2.1、加载iso2.2、制作系统盘 前言 安装ubuntu18.04系统 一、下载ubuntu18.04的iso文件 打开下面的网址&#xff0c;找到自己需要的iso文件 https://releases.ubuntu.com/二、制作u盘系…

国家网络安全周 | 金融日,一起 get金融行业数据安全

2023国家网络安全宣传周 热度一直在持续&#xff01; 9月15日是国家网络安全宣传金融日。 目前随着国际形势愈发严峻&#xff0c;金融机构基础设施的全面数字化升级&#xff0c;带来了全新的安全问题。数据安全不单是技术问题&#xff0c;更是已经成为一个关系社会稳定发展的…

开源库源码分析:Okhttp源码分析(一)

开源库源码分析&#xff1a;OkHttp源码分析 导言 接下来就要开始分析一些常用开源库的源码了&#xff0c;作为最常用的网络请求库&#xff0c;OkHttp以其强大的功能深受Android开发者的喜爱&#xff08;比如说我&#xff09;&#xff0c;还有对该库进行二次封装而成的热门库&a…