初见QT,控件的基本应用,实现简单登录窗口

窗口实现代码

cpp 复制代码
#include "widget.h"


Widget::Widget(QWidget *parent)
    : QWidget(parent)
{
    //窗口设置
    this->setFixedSize(538, 373);                                   //固定窗口大小
    this->setWindowIcon(QIcon("G:\\QT_Icon\\windos_icon2.png"));    //设置窗口图标
    this->setWindowTitle("My QQ");                                  //设置窗口标题

    //窗口界面
    QLabel *lab1 = new QLabel(this);                                //设置背景颜色
    QLabel *lab2 = new QLabel(this);                                //设置头像
    lab1->resize(538, 153);                                         //背景颜色范围
    lab1->setStyleSheet("background-color:skyblue");                //设置背景颜色样式

    lab2->setPixmap(QPixmap("G:\\QT_Icon\\windos_icon2.png"));      //设置头像图标
    lab2->resize(80, 80);                                           //设置头像大小
    lab2->setScaledContents(true);                                  //头像自适应填满
    lab2->move(229, 53);                                            //设置头像位置

    //输入框
    QLineEdit *ledit1 = new QLineEdit(this);                        //账号输入
    QLineEdit *ledit2 = new QLineEdit(this);                        //密码输入
    ledit1->resize(260, 40);
    ledit2->resize(260, 40);

    ledit1->move(159, lab2->y()+120);                               //设置账号框位置
    ledit2->move(ledit1->x(), ledit1->y()+60);                      //设置密码框位置

    ledit1->setPlaceholderText("QQ账号/手机号/邮箱");                  //设置占位文本
    ledit2->setEchoMode(QLineEdit::Password);                        //设置密码回显
    ledit1->setMaxLength(16);
    ledit2->setMaxLength(16);

    //输入栏前置图标
    QLabel *lab3 = new QLabel(this);
    QLabel *lab4 = new QLabel(this);
    lab3->resize(30, 30);
    lab3->setPixmap(QPixmap("G:\\QT_Icon\\windos_icon1.png"));
    lab3->setScaledContents(true);
    lab3->move(ledit1->x()-40, ledit1->y()+5);

    lab4->setPixmap(QPixmap("G:\\QT_Icon\\password.png"));
    lab4->setScaledContents(true);
    lab4->resize(30, 30);
    lab4->move(ledit2->x()-40, ledit2->y()+5);

    //按键
    QPushButton *btn1 = new QPushButton("登录" ,this);
    btn1->resize(300, 40);
    btn1->setStyleSheet("background-color:rgb(8,189,253);");
    btn1->move(lab3->x(), lab4->y()+60);

}

Widget::~Widget()
{

}

效果图

相关推荐
方也_arkling19 小时前
【Java-Day08】static / final / 枚举
java·开发语言
风吹夏回19 小时前
Python 全局异常处理:从“满屏 try-except”到优雅兜底
开发语言·python
Chengbei1119 小时前
一站式源码安全检测工具、云安全 / APP / 小程序源码敏感信息递归多层目录扫描AK、JWT、手机号、身份证等敏感信息
java·开发语言·安全·web安全·网络安全·系统安全·安全架构
eggcode19 小时前
【Qt学习】Linux(ARM架构)在线安装Qt6.x
linux·qt·学习·arm
llz_11219 小时前
web-第一次课后作业
java·开发语言·idea
小熊Coding20 小时前
Python爬取当当网二手图书项目实战!
开发语言·爬虫·python·beautifulsoup·requests·二手图书
秋920 小时前
Java项目运行5天左右自动宕机:系统性定位与解决方案
java·开发语言·python
xiaoshuaishuai820 小时前
C# 内存管理与资源泄漏
开发语言·c#
lsx20240620 小时前
SVN 检出操作
开发语言
basketball61621 小时前
C++ NULL 和 nullptr 区别 以及 nullptr 的核心实现
java·开发语言·c++