初见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()
{

}

效果图

相关推荐
liangshanbo12151 小时前
JavaScript 面试题:Object.keys() 的返回顺序是无序的吗?
开发语言·javascript·ecmascript
朝朝辞暮i7 小时前
C++ 第 23 课:class —— 开始真正进入面向对象
开发语言·c++·算法
小师兄吃牛肉8 小时前
C语言篇:宏
c语言·开发语言
郑同学的笔记8 小时前
【c++随笔28】strcmp 和 memcmp对比
开发语言·c++
言乐69 小时前
Python根据无法识别搜索词找出可能输入内容模型
开发语言·python·django·virtualenv·pygame
weixin_307779139 小时前
有限产能智能排产与动态重排智能体:从需求解构到技术实现
开发语言·人工智能·算法·架构
kakakahahahaha9 小时前
Windows C盘临时文件清理:%temp%、Windows Temp、Prefetch、Windows.old与hiberfil.sys处理指南
c语言·开发语言·windows
朝朝辞暮i9 小时前
C++ 第 27 课:智能指针 shared_ptr
开发语言·c++·算法
朝朝辞暮i10 小时前
C++ 第 29 课:回调函数 Callback
开发语言·c++·算法
笨笨饿10 小时前
140_AI新手村MCP与Skills是干嘛的
开发语言·人工智能·python·stm32·单片机·嵌入式硬件·物联网