QT - 20230707

news2024/9/22 7:40:17

登录界面练习

#include "loginwindow.h"

QIcon fetchIconWithName(QString name) {
    QString res = "../login/images/" + name;
    return QIcon(res);
}

LoginWindow::LoginWindow(QWidget *parent)
    : QMainWindow(parent)
{
    this->resize(600, 800);

    this->setWindowIcon(fetchIconWithName("QQ.png"));
    this->setWindowTitle("登录界面");
    this->setStyleSheet("background-color:white");

    int offsetX = 0, offsetY = 10;

    //LOGO
    QLabel *logoLabel = new QLabel(this);
    logoLabel->setPixmap(QPixmap("../login/images/logo.png"));
    logoLabel->setGeometry((this->width()-480)/2, offsetY, 480, 266);
    offsetY += 266;

    offsetY += 20;

    //登录框
    offsetX = (this->width()-260)/2;
    QLabel *loginIcon = new QLabel(this);
    loginIcon->setPixmap(QPixmap("../login/images/userName.jpg"));
    loginIcon->setScaledContents(true);
    loginIcon->setGeometry(offsetX, offsetY, 50, 50);
    offsetX += (50+10);

    QLineEdit *loginInput = new QLineEdit(this);
    loginInput->setPlaceholderText("请输入用户名");
    loginInput->setGeometry(offsetX, offsetY, 200, 50);
    loginInput->setStyleSheet("border:none");

    QWidget *loginBottomLine = new QWidget(this);
    loginBottomLine->setStyleSheet("background-color:black");
    loginBottomLine->setGeometry(loginInput->x(), loginInput->y()+loginInput->height(), loginInput->width(), 1);
    offsetY += (50+10);

    offsetX = (this->width()-260)/2;
    QLabel *passwdIcon = new QLabel(this);
    passwdIcon->setPixmap(QPixmap("../login/images/passwd.jpg"));
    passwdIcon->setScaledContents(true);
    passwdIcon->setGeometry(offsetX, offsetY, 50, 50);
    offsetX += (50+10);

    QLineEdit *passwdInput = new QLineEdit(this);
    passwdInput->setPlaceholderText("请输入密码");
    passwdInput->setGeometry(offsetX, offsetY, 200, 50);
    passwdInput->setEchoMode(QLineEdit::Password);
    passwdInput->setStyleSheet("border:none");

    QWidget *passwdBottomLine = new QWidget(this);
    passwdBottomLine->setStyleSheet("background-color:black");
    passwdBottomLine->setGeometry(passwdInput->x(), passwdInput->y()+passwdInput->height(), passwdInput->width(), 1);
    offsetY += 60;

    offsetX = (this->width()-150)/2;
    QPushButton *loginBtn = new QPushButton(this);
    loginBtn->setIcon(fetchIconWithName("login.png"));
    loginBtn->setIconSize(QSize(50, 50));
    loginBtn->setGeometry(offsetX, offsetY, 50, 50);
    offsetX += (50 + 20);

    QPushButton *cancelBtn = new QPushButton(this);
    cancelBtn->setIcon(fetchIconWithName("cancel.png"));
    cancelBtn->setIconSize(QSize(50, 50));
    cancelBtn->setGeometry(offsetX, offsetY, 50, 50);
    offsetY += 70;

    this->resize(this->width(), offsetY);

}

LoginWindow::~LoginWindow()
{

}

结果展示:
在这里插入图片描述

在这里插入图片描述

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

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

相关文章

小红书私信软件:把微信二维码联系方式隐藏在图片中推广引流找客源

小红书私信软件:把微信二维码联系方式隐藏在图片中推广引流找客源,小红书还能这么玩?小红书暑期聊天功能上新了,共享收藏夹、斗图神器,暑期表情,笔记表态....快去和好友一起解锁新功能吧! #小红书 最近发现…

YOLOv5-第Y1周:调用官方权重进行检测

YOLOv5-第Y1周:调用官方权重进行检测 YOLOv5-第Y1周:调用官方权重进行检测一、前言二、我的环境三、下载源码四、运行代码五、视频检测八、总结 YOLOv5-第Y1周:调用官方权重进行检测 一、前言 🍨 本文为🔗365天深度学…

【Redis-工具类】自定义Redis工具类并使用其进行简单操作

【Redis-工具类】自定义Redis工具类并使用其进行简单操作 1)自定义 Redis 工具类2)工具类的简单使用 1)自定义 Redis 工具类 package gaei.cn.x5l.x5lhive2cos.utils;import gaei.cn.x5l.x5lhive2cos.CosDataBackupHistory; import gaei.cn.…

AI智能化数据分析,赋能文旅直播发展新赛道

一、文旅直播发展背景 近期,旅游业市场呈现火热态势。暑期旅游市场预计迎来新一轮旅游小高峰,旅游业进入结构性复苏新阶段。而随着社交媒介的普及与旅游直播的兴起,全国多地文旅“出圈”形成热议。 对于文旅产业发展来说,高品质…

【如何在工作中保持稳定的情绪 --- 保持稳定情绪的7个工作技巧】

导语: 在现代工作环境中,保持稳定的情绪是一项至关重要的技能。当我们遇到挑战、压力和严峻的工作条件时,情绪的稳定性对于我们的工作效率和心理健康至关重要。本文将分享七个实用的工作技巧,帮助你保持稳定的情绪并提升工作质量…

面对chatGPT,冷静比鸡血更重要!

这段时间 chatGPT 也算是疯狂的吸引眼球了。 看起来广告费没白花,不管说的对不对,反正说它一定要用**“颠覆”“天花板”“惊艳”“抢大多数人的饭碗”**之类的词。 再大一点的描述就是:留给人类的时间不多了。扼腕叹息、杞人类生存空间而忧…

springboot项目开启https协议

1、在windows以管理员身份运行cmd,输入如下命令生成证书 keytool -genkey -alias myhttps -keyalg RSA -keysize 2048 -validity 36500 -keystore "D:/tmp/ssl/myhttps.keystore"注释 命令:keytool -genkey -alias testhttps -keyalg RSA -keysize 204…

蓝牙资讯|苹果Beats Studio Pro耳机曝光,支持苹果和谷歌的查找功能

国外科技媒体9to5Mac曝光苹果Beats Studio Pro耳机,这款耳机配备了 2 个定制的 40 毫米驱动单元,即便是在最高音量下,也能确保不会失真。Beats Studio Pro 还将配备集成的数字处理器,该处理器“优化最终频率响应,以获得…

Jetpack 架构组件你了解多少?

本文是我在学习Jetpack的过程中做的一些记录,如有错误,欢迎指正 本文包含了 ViewModel、Lifecycles、LiveData、Room、WorkManager 的相关用法,你可以通过目录直接跳转到你想了解的地方 ViewModel 简单介绍下 ViewModel:ViewMode…

DataWhale: LLM+KG

https://mp.weixin.qq.com/s/MIi1WrAwfmqnXGlkQq8DqQ

硬件性能 - 网络瓶颈分析

简介 本文章主要通过Linux命令查看网络信息、判断是否出现网络瓶颈等简单分析方法。 目录 1. 监控命令 sar 2. 带宽利用率 3. 网络延迟 4. 网络连接数 5. 模拟网络故障 1. 监控命令 sar sar 命令实时查看网络情况(详细命令:Linux性能监控命令_sar …

靠着这份 Java 面试题跟答案,我从 14K 变成了 28K!

LZ 认为,对于 Java 面试以及进阶的最佳学习方法莫过于刷题博客书籍总结,前三者 LZ 将淋漓尽致地挥毫于这篇文章中,至于总结在于个人,实际上越到后面你会发现面试并不难,其次就是在刷题的过程中有没有去思考&#xff0c…

【QT】——事件处理系统

目录 1.事件介绍 2.QT事件的产生 3.事件处理函数 3.1鼠标事件 3.2键盘事件 3.3窗口重绘事件 3.4窗口关闭事件 3.5窗口大小变化事件 4. 重写事件处理函数 1.事件介绍 QT 程序是事件驱动的, 程序的每个动作都是由内部某个事件所触发。QT 事件的发生和处理 成为程序运行的…

数据质量管理之ETL中的挑战与解决方案

摘要:在数据驱动的时代,数据质量管理是企业成功的关键因素之一。在ETL(Extract, Transform, Load)过程中,数据质量问题可能会导致数据失真、决策错误和业务损失。本文将探讨ETL中常见的数据质量挑战,并提供…

CSS入门.

目录 基础入门基础语法 1.基础入门 什么是 CSS CSS 指层叠样式表(Cascading Style Sheets)样式通常存储在样式表中 为什么要使用 CSS 样式定义如何显示 HTML 元素为了解决内容与表现分离的问题主要目的:可以让相同的一个页面在不同的浏…

linux服务配置ssh免密

一、常用场景 1、我们经常使用scp命令在两台不同服务器之间进行文件传输,但每执行一次scp命令时,都需要输入一次密码;使用ssh命令远程连接另一台服务器时,也需要输入密码。频繁输入密码比较麻烦,ssh可帮助我们在两台服…

【python】array数组添加一行或一列数据

目录 0.环境 1.背景 2.具体实现 2.1思路 2.2具体实现 2.2.1 增加一列 2.2.2增加一行 3. 完整代码 0.环境 windows jupyter notebook跑代码 1.背景 在实现数据可视化的时候,用了numpy的array类型的数组,需要手动在最后增加一列数据,所以…

[oeasy]python0071_字符串类型_str_string_下标运算符_中括号

帮助手册 回忆上次内容 上次 分辨了 静态类型 语言动态类型 语言 python 属于 对类型要求 没有那么严格的 动态类型 语言 对 初学者很友好不过很多时候 也容易 弄不清变量类型 直接 修改代码 增强 程序的可读性把变量的类型 明确标记在 变量名上 就像 把缩进 作为程序块的分…

VisualSVN Server安装步骤

一.下载 官网:VisualSVN - Subversion-based version control for Windows 二.安装 双击安装 先创建好文件夹路径,建议放在同一个根目录下 三.安装成功,运行打开界面如图 四.创建项目 右键Repositories 选择Customize pemissions&#xff0…

浅拷贝、深拷贝、引用拷贝

目录 1.浅拷贝 2.深拷贝 3.引用拷贝 4.代码示例 5.总结 浅拷贝、深拷贝和引用拷贝是在编程中用来 复制对象或数据 的三种不同方式。 1.浅拷贝 浅拷贝(Shallow Copy):浅拷贝创建一个新对象,其中包含原始对象的引用。这意…