创建UI账号密码登录界面

news2024/9/22 3:54:52

头文件

#ifndef MYWND_H
#define MYWND_H

#include <QPushButton>
#include <QMainWindow>

class MyWnd : public QMainWindow
{
    Q_OBJECT

public:
    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.coloradmin.cn/o/1013597.html

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

相关文章

链动2+1模式:让中小企业家轻松实现社交电商

社交电商是一种利用社交网络和社群平台&#xff0c;通过人与人之间的互动和分享&#xff0c;实现商品或服务的销售和推广的电商模式。社交电商具有低成本、高效率、高转化率、高忠诚度等优势&#xff0c;是当下最火热的电商趋势之一。 然而&#xff0c;对于中小企业家来说&…

HarmonyOS学习路之方舟开发框架—学习ArkTS语言(状态管理 七)

PersistentStorage&#xff1a;持久化存储UI状态 前两个小节介绍的LocalStorage和AppStorage都是运行时的内存&#xff0c;但是在应用退出再次启动后&#xff0c;依然能保存选定的结果&#xff0c;是应用开发中十分常见的现象&#xff0c;这就需要用到PersistentStorage。 Pe…

MongoDB的搭建 和crud操作

MongoDB docker 下载 docker run --restartalways -d --name mongo -v /docker/mongodb/data:/data/db -p 27017:27017 mongo:4.0.6使用navcat工具使用MongoDB Crud操作 jar包 <dependency><groupId>org.projectlombok</groupId><artifactId>lom…

three.js 入门 初识

基本步骤&#xff1a; 初始设置创建场景创建相机创建可见对象创建渲染器渲染场景 安装 npm install three 引入 import * as THREE from "three"; 一、three三要素&#xff1a;场景、相机、渲染 1.场景&#xff1a; //创建场景 const scenenew THREE.Scene()…

python中not的用法

前言 大家早好、午好、晚好吖 ❤ ~欢迎光临本文章 话不多说&#xff0c;直接开搞&#xff0c;如果有什么疑惑/资料需要的可以点击文章末尾名片领取源码 python中的not具体表示是什么: 在python中not是逻辑判断词&#xff0c;用于布尔型True和False&#xff0c; not True为F…

【Unity插件】实现多人在线游戏——Mirror插件的使用介绍

文章目录 前言导入Mirror插件 简单介绍一、RPC调用二、错误注意 基本使用一、创建场景的网络管理器二、创建一个玩家三、添加玩家初始生成位置四、玩家控制五、同步摄像机六、同步不同角色的名字和颜色修改七、同步动画八、同步子弹方法一方法二 九、聊天功能十、场景同步切换十…

torch.where()两种用法

参考官方文档。 官方文档中只给了第一种用法。根据条件condition&#xff0c;从input,other中选择元素f返回。如果满足条件&#xff0c;则返回input元素。若不满足&#xff0c;返回other元素。 还有一种用法是通过where返回张量中满足条件condition的坐标&#xff0c;以二维张…

【Unity每日一记】资源加载相关和检测相关

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;元宇宙-秩沅 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 秩沅 原创 &#x1f468;‍&#x1f4bb; 收录于专栏&#xff1a;uni…

中兴协力NB-IoT部署实验(含复杂项目)

这个实验要求每个人都完成一遍&#xff0c;并且不同学生的部分操作内容也不同&#xff0c;个别班级最后也被要求基于此完成复杂项目&#xff0c;黑字部分是必要操作&#xff0c;紫字部分是辅助完成操作或复杂项目的讲解 进入实验室&#xff0c;选择模拟器&#xff08;同一台模…

pytorch的自动微分、计算图 | 代码解析

在深度学习和机器学习中&#xff0c;自动微分是一个关键的概念&#xff0c;用于计算函数相对于其输入变量的导数&#xff08;梯度&#xff09;从而利用各类优化算法如梯度下降降低损失函数。PyTorch中的张量&#xff08;tensor&#xff09;提供了自动微分功能&#xff0c;它使得…

游戏视频录制软件对比,哪款最适合你的需求?

随着电子竞技和游戏直播行业的迅速崛起&#xff0c;越来越多的玩家渴望记录并分享自己在游戏中的精彩瞬间。游戏视频录制软件正是满足这一需求的关键工具。本文将针对三款优秀的游戏视频录制软件进行对比分析&#xff0c;以便为读者提供选购建议。 游戏视频录制软件1&#xff1…

Y4455芯片开发的433遥控流水灯方案

越来越多的家庭通过无线遥控来控制家中的照明系统&#xff0c;本文将介绍一种基于Y4455芯片的433MHz无线遥控流水灯方案&#xff0c;创造出美丽的照明场景。 一、宇凡微Y4455芯片简介 宇凡微Y4455芯片是一款低功耗、高性能的315MHz和433MHz短距离无线通讯发射芯片。它支持ASK…

Linux exec函数族

exec并不是生成新的进程还是在原进程执行 我们通常先创建一个子进程&#xff0c;在子进程里面使用exec&#xff0c;因为调用exec成功后&#xff0c;原进程的资源都被取代&#xff0c;除了一些进程ID等&#xff0c;所以在子进程里面调用exec&#xff0c;对原进程无影响。 前六个…

forest--声明式HTTP客户端框架-spring-b oot项目整合

Forest 是一个开源的 Java HTTP 客户端框架&#xff0c;它能够将 HTTP 的所有请求信息&#xff08;包括 URL、Header 以及 Body 等信息&#xff09;绑定到您自定义的 Interface 方法上&#xff0c;能够通过调用本地接口方法的方式发送 HTTP 请求。 官方链接&#xff1a; &…

实战演练 | Navicat 常用功能之转储与运行 SQL 文件

数据库管理工作中&#xff0c;"转储 SQL 文件"和"运行 SQL 文件"是两个极为常见操作。一般来说&#xff0c;用户使用数据库管理工具或命令行工具来完成。Navicat 管理开发工具中的“转储 SQL 文件”和“运行 SQL 文件”功能具有直观易用的界面、多种文件格…

北斗高精度定位,破解共享单车停车乱象

如今&#xff0c;共享单车已经成为了许多人出行的首选方式&#xff0c;方便了市民们的“最后一公里”&#xff0c;给大家的生活带来了很多便利。然而&#xff0c;乱停乱放的单车也给城市治理带来了难题。在这种情况下&#xff0c;相关企业尝试将北斗导航定位芯片装载到共享单车…

企业如何拓展市场,获取客源并进行降本增效?

对于企业来说&#xff0c;在降低成本和提高效率的同时拓展市场和获取客户是一项复杂的挑战。以下是实现这一目标的一些策略和方法&#xff1a; 1.市场研究和细分&#xff1a;进行彻底的市场研究&#xff0c;以确定您的产品或服务最有前途的细分市场。将您的精力集中在最有利可…

【PickerView案例09-上午内容复习 Objective-C预言】

一、好,我们把前面两个案例:点餐系统、城市选择界面、复习一下,然后继续讲第三个案例:国旗选择界面 1.我们就直接照着这个Demo去说了啊, 先来看一下这个,点餐系统: 首先,我们说,点餐系统,整个界面儿呢,分几部分:三部分 1)顶部呢:一个View 2)中间呢:一个Pic…

EndNote21 | 安装及库的创建

EndNote21 | 安装及库的创建 一、EndNote21安装二、EndNote21库的创建 一、EndNote21安装 软件安装界面&#xff0c;双击“EndNote 21.exe”程序&#xff1b; 图1 安装软件界面点击next&#xff0c;选择30天试用&#xff0c;点击next&#xff1b; 图2 安装过程点击next&…

数据结构——图(图的存储及基本操作)

文章目录 前言一、邻接矩阵法&#xff08;顺序存储&#xff09;1.无向图存储邻接矩阵算法2.有向图存储邻接矩阵算法 二、邻接表法(图的链式存储结构)总结 前言 邻接矩阵法(图的顺序存储结构) 1.1 无向图邻接矩阵算法 1.2 有向图邻接矩阵算法邻接表法(图的一种链式存储结构) 一…