Qt设置类似于qq登录页面(ikun)

2023-12-14 22:30

本文主要是介绍Qt设置类似于qq登录页面(ikun),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

头文件

#ifndef WIDGET_H
#define WIDGET_H#include <QWidget>
#include <QWindow>
#include <QIcon>
#include <QLabel>
#include <QMovie>
#include <QLineEdit>
#include <QPushButton>QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACEclass Widget : public QWidget
{Q_OBJECTpublic:Widget(QWidget *parent = nullptr);~Widget();private:Ui::Widget *ui;void Btn2_slot();
};
#endif // WIDGET_H

源文件

#include "widget.h"
#include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);//==============窗口设置============//给窗口设置标题this->setWindowTitle("真爱粉聊天软件");//给窗口设置图标this->setWindowIcon(QIcon(":/pictrue/xhz.jpg"));//窗口背景颜色this->setStyleSheet("background-color:rgb(255,255,255)");//给窗口固定大小this->setFixedSize(540,410);//设置纯净窗口(去掉头部)this->setWindowFlag(Qt::FramelessWindowHint);//================标签设置==========//创建标签并指定父对象//创建第一个标签(背景)QLabel *lab1 = new QLabel(this);//给标签设置大小lab1->resize(540,160);//给标签设置动图QMovie *mv1 = new QMovie(":/pictrue/cxk.gif");//将图放入标签中lab1->setMovie(mv1);//让图动起来mv1->start();//自动适应标签大小lab1->setScaledContents(true);//创建第二个标签(用户名标签)QLabel *lab2 = new QLabel(this);lab2->resize(25,25);//给标签设置图片lab2->setPixmap(QPixmap(":/pictrue/userName.jpg"));//自动适应lab2->setScaledContents(true);//让标签移动位置lab2->move(120,220);//创建第三个标签(密码标签)QLabel *lab3 = new QLabel(this);lab3->resize(25,25);lab3->setPixmap(QPixmap(":/pictrue/passwd.jpg"));lab3->setScaledContents(true);lab3->move(120,255);QLabel *lab4 = new QLabel(this);lab4->resize(100,160);lab4->setPixmap(QPixmap(":/pictrue/zhenaifen1.jpg"));lab4->setScaledContents(true);lab4->move(0,165);QLabel *lab5 = new QLabel(this);lab5->resize(100,160);lab5->setPixmap(QPixmap(":/pictrue/zhenaifen2.jpg"));lab5->setScaledContents(true);lab5->move(440,165);//==============行编辑器设置============//创建第一个行编辑器并指定父对象(账号)QLineEdit *edit1 = new QLineEdit(this);//给行编辑器设置大小edit1->resize(280,30);//移动行编辑器edit1->move(150,220);//设置显示标题edit1->setPlaceholderText("ikun账号");//创建第二个行编辑器(密码)QLineEdit *edit2 = new QLineEdit(this);edit2->resize(280,30);edit2->move(150,255);edit2->setPlaceholderText("密码");//设置模式(密码模式:隐藏输入的字符)edit2->setEchoMode(QLineEdit::Password);//==============按钮设置==============//设置按钮并指定父对象QPushButton *btn1 = new QPushButton(this);//设置按钮大小btn1->resize(300,45);//移动按钮btn1->move(120,345);//给按钮设置背景颜色并给边角修弧度btn1->setStyleSheet("background-color:rgb(234,210,253);border-radius:10px");//给窗口设置标题btn1->setText("登录");//设置第二个按钮(退出)QPushButton *btn2 = new QPushButton(this);btn2->resize(30,30);btn2->move(510,0);btn2->setText("X");btn2->setStyleSheet("background-color:skyblue");//手动连接信号和槽,基于qt5版本connect(btn2,&QPushButton::clicked,this,&Widget::Btn2_slot);}Widget::~Widget()
{delete ui;
}void Widget::Btn2_slot(){this->close();
}

效果图

实现

这篇关于Qt设置类似于qq登录页面(ikun)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/494112

相关文章

MySQL表锁、页面锁和行锁的作用及其优缺点对比分析

《MySQL表锁、页面锁和行锁的作用及其优缺点对比分析》MySQL中的表锁、页面锁和行锁各有特点,适用于不同的场景,表锁锁定整个表,适用于批量操作和MyISAM存储引擎,页面锁锁定数据页,适用于旧版本... 目录1. 表锁(Table Lock)2. 页面锁(Page Lock)3. 行锁(Row Lock

前端 CSS 动态设置样式::class、:style 等技巧(推荐)

《前端CSS动态设置样式::class、:style等技巧(推荐)》:本文主要介绍了Vue.js中动态绑定类名和内联样式的两种方法:对象语法和数组语法,通过对象语法,可以根据条件动态切换类名或样式;通过数组语法,可以同时绑定多个类名或样式,此外,还可以结合计算属性来生成复杂的类名或样式对象,详细内容请阅读本文,希望能对你有所帮助...

MobaXterm远程登录工具功能与应用小结

《MobaXterm远程登录工具功能与应用小结》MobaXterm是一款功能强大的远程终端软件,主要支持SSH登录,拥有多种远程协议,实现跨平台访问,它包括多会话管理、本地命令行执行、图形化界面集成和... 目录1. 远程终端软件概述1.1 远程终端软件的定义与用途1.2 远程终端软件的关键特性2. 支持的

禁止HTML页面滚动的操作方法

《禁止HTML页面滚动的操作方法》:本文主要介绍了三种禁止HTML页面滚动的方法:通过CSS的overflow属性、使用JavaScript的滚动事件监听器以及使用CSS的position:fixed属性,每种方法都有其适用场景和优缺点,详细内容请阅读本文,希望能对你有所帮助... 在前端开发中,禁止htm

MySQL8.0设置redo缓存大小的实现

《MySQL8.0设置redo缓存大小的实现》本文主要在MySQL8.0.30及之后版本中使用innodb_redo_log_capacity参数在线更改redo缓存文件大小,下面就来介绍一下,具有一... mysql 8.0.30及之后版本可以使用innodb_redo_log_capacity参数来更改

Qt 中集成mqtt协议的使用方法

《Qt中集成mqtt协议的使用方法》文章介绍了如何在工程中引入qmqtt库,并通过声明一个单例类来暴露订阅到的主题数据,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧... 目录一,引入qmqtt 库二,使用一,引入qmqtt 库我是将整个头文件/源文件都添加到了工程中进行编译,这样 跨平台

Nginx设置连接超时并进行测试的方法步骤

《Nginx设置连接超时并进行测试的方法步骤》在高并发场景下,如果客户端与服务器的连接长时间未响应,会占用大量的系统资源,影响其他正常请求的处理效率,为了解决这个问题,可以通过设置Nginx的连接... 目录设置连接超时目的操作步骤测试连接超时测试方法:总结:设置连接超时目的设置客户端与服务器之间的连接

mybatis和mybatis-plus设置值为null不起作用问题及解决

《mybatis和mybatis-plus设置值为null不起作用问题及解决》Mybatis-Plus的FieldStrategy主要用于控制新增、更新和查询时对空值的处理策略,通过配置不同的策略类型... 目录MyBATis-plusFieldStrategy作用FieldStrategy类型每种策略的作

CSS弹性布局常用设置方式

《CSS弹性布局常用设置方式》文章总结了CSS布局与样式的常用属性和技巧,包括视口单位、弹性盒子布局、浮动元素、背景和边框样式、文本和阴影效果、溢出隐藏、定位以及背景渐变等,通过这些技巧,可以实现复杂... 一、单位元素vm 1vm 为视口的1%vh 视口高的1%vmin 参照长边vmax 参照长边re

Windows设置nginx启动端口的方法

《Windows设置nginx启动端口的方法》在服务器配置与开发过程中,nginx作为一款高效的HTTP和反向代理服务器,被广泛应用,而在Windows系统中,合理设置nginx的启动端口,是确保其正... 目录一、为什么要设置 nginx 启动端口二、设置步骤三、常见问题及解决一、为什么要设置 nginx