2023/09/15 qt day1

本文详细描述了如何使用C++和Qt库在代码中实现一个包含标签、行编辑器和按钮的图形化登录界面,包括窗口设置、控件实例化和布局。

代码实现图形化界面

#include "denglu.h"
#include "ui_denglu.h"
#include <QDebug>
#include <QIcon>
#include <QLabel>
#include <QLineEdit>
#include <QPushButton>
denglu::denglu(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::denglu)
{
    ui->setupUi(this);
    this->setFixedSize(430,360); //设置固定主界面尺寸
    this->setWindowTitle("Widget"); //设置窗口标题
    this->setWindowIcon(QIcon("C:\\Users\\12297\\Desktop\\icon\\wodepeizhenshi.png"));
//    //实例化一个标签
    QLabel *lab1 = new QLabel(this);
    lab1->resize(430,180); //设置占窗体一半尺寸
    lab1->setPixmap(QPixmap("C:\\Users\\12297\\Desktop\\icon\\logo.png"));
    lab1->setScaledContents(1);
    //实例化第二个标签
    QLabel *lab2 = new QLabel(this);
    lab2->resize(45,30);  //设置尺寸
    lab2->move(this->x()+65,this->y()+200); //移动位置
    lab2->setPixmap(QPixmap("C:\\Users\\12297\\Desktop\\icon\\userName.jpg"));//填充图片
    lab2->setScaledContents(1);
    //实例化第三个标签
    QLabel *lab3 = new QLabel(this);
    lab3->resize(45,30);  //设置尺寸
    lab3->move(lab2->x(),lab2->y()+60); //移动位置
    lab3->setPixmap(QPixmap("C:\\Users\\12297\\Desktop\\icon\\passwd.jpg"));//填充图片
    lab3->setScaledContents(1);
    //实例化行编辑器1
    QLineEdit *edit1 = new QLineEdit(this);
    edit1->resize(200,32); //设置尺寸
    edit1->move(lab2->x()+55,lab2->y()); //移动位置
    edit1->setPlaceholderText("admin"); //设置默认值,占位文本
    //实例化行编辑器2
    QLineEdit *edit2 = new QLineEdit(this);
    edit2->resize(200,32); //设置尺寸
    edit2->move(lab3->x()+55,lab3->y()); //移动位置
    edit2->setEchoMode(QLineEdit::Password); //设置回显模式
    edit2->setMaxLength(6); //设置最大文本容量
    //实例化按钮1
    QPushButton *b1 = new QPushButton(QIcon("C:\\Users\\12297\\Desktop\\icon\\login.png"),"登录",this);
    b1->resize(80,32); //设置尺寸
    b1->move(this->x()+100,lab3->y()+50); //移动位置

    //实例化按钮1
     QPushButton *b2 = new QPushButton(QIcon("C:\\Users\\12297\\Desktop\\icon\\cancel.png"),"取消",this);
    b2->resize(80,32); //设置尺寸
    b2->move(this->x()+230,b1->y()); //移动位置











}

denglu::~denglu()
{
    delete ui;
}

效果图

模拟面试问题

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值