QT第一讲

思维导图

手动实现登录框

要求:

1、登录窗口更改标题、图标

2、设置固定尺寸、并给定一定的透明度

widget.h
cpp 复制代码
#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>


#include<QWidget>
#include<QDebug>  //信息调试类,用于打印输出-->cout<< printf()
#include<QIcon>   //图标头文件
#include<QPushButton> //按钮类头文件
#include<QLineEdit>  //行编辑器类
#include<QLabel>     //标签类
#include<QMovie>


QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACE

class Widget : public QWidget
{
    Q_OBJECT

public:
    Widget(QWidget *parent = nullptr);
    ~Widget();

    QLabel *lab1;
    QLabel *lab2;
    QLabel *lab3;
    QLabel *lab4;
    QLineEdit *edit1;
    QLabel *lab5;
    QLineEdit *edit2;
    QLabel *lab6;
    QPushButton *btn1;
    QLabel *lab7;
    QPushButton *btn2;

private:
    Ui::Widget *ui;
};
#endif // WIDGET_H
widget.cpp
cpp 复制代码
#include "widget.h"
#include "ui_widget.h"


Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{

    //设置截面尺寸
    this->resize(600,600);
    this->setWindowTitle("ikun Chat");
    this->setFixedSize(600,600);
    this->setWindowOpacity(0.9);

    lab1 = new QLabel(this);   //主背景
    lab1->setPixmap(QPixmap("E:\\Qt\\Icon\\1.png"));
    lab1->resize(30,30);
    lab1->move(0,0);
    lab1->setScaledContents(true); //图片大小自适应

    lab2 = new QLabel("ikun chat",this); //顶部文字
    lab2->resize(100,30);
    lab2->move(100,0);

    lab3 = new QLabel(this);
    lab3->setPixmap(QPixmap("E:\\Qt\\icon\\bg.png"));
    lab3->resize(600,150);
    lab3->move(0,30);
    lab3->setScaledContents(true);

    lab4 = new QLabel(this);//账号框图标
    lab4->setPixmap(QPixmap("E:\\Qt\\QQIcon\\user.png"));
    lab4->resize(30,30);
    lab4->move(80,190);
    lab4->setScaledContents(true);

    edit1 = new QLineEdit(this);  //账号框
    edit1->resize(200,30);
    edit1->move(120,190);
    edit1->setPlaceholderText("账号");

    lab5 = new QLabel(this);//密码框图标
    lab5->setPixmap(QPixmap("E:\\Qt\\QQIcon\\password.png"));
    lab5->resize(30,30);
    lab5->move(80,240);
    lab5->setScaledContents(true);

    edit2 = new QLineEdit(this);  //密码框
    edit2->resize(200,30);
    edit2->move(120,240);
    edit2->setEchoMode(QLineEdit::Password); //密文模式
    edit2->setPlaceholderText("密码");

    lab6 = new QLabel(this);  //登录图标
    lab6->setPixmap(QPixmap("E:\\Qt\\QQIcon\\signup.png"));
    lab6->resize(30,30);
    lab6->move(200,300);
    lab6->setScaledContents(true);

    btn1 = new QPushButton("登录",this); //登录框
    btn1->resize(80,30);
    btn1->move(230,300);

    lab7 = new QLabel(this);  //取消图标
    lab7->setPixmap(QPixmap("E:\\Qt\\QQIcon\\exit.png"));
    lab7->resize(30,30);
    lab7->move(320,300);
    lab7->setScaledContents(true);

    btn2 = new QPushButton("取消",this); //取消框
    btn2->resize(80,30);
    btn2->move(350,300);
}

Widget::~Widget()
{
    delete ui;
}
main.cpp
cpp 复制代码
#include "widget.h"

#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Widget w;
    w.show();
    return a.exec();
}
测试运行结果
相关推荐
Yhame.3 分钟前
深入理解 Java 中的 ArrayList 和 List:泛型与动态数组
java·开发语言
编程之路,妙趣横生5 分钟前
list模拟实现
c++
mazo_command2 小时前
【MATLAB课设五子棋教程】(附源码)
开发语言·matlab
IT猿手2 小时前
多目标应用(一):多目标麋鹿优化算法(MOEHO)求解10个工程应用,提供完整MATLAB代码
开发语言·人工智能·算法·机器学习·matlab
青春男大2 小时前
java栈--数据结构
java·开发语言·数据结构·学习·eclipse
88号技师2 小时前
几款性能优秀的差分进化算法DE(SaDE、JADE,SHADE,LSHADE、LSHADE_SPACMA、LSHADE_EpSin)-附Matlab免费代码
开发语言·人工智能·算法·matlab·优化算法
Zer0_on2 小时前
数据结构栈和队列
c语言·开发语言·数据结构
一只小bit2 小时前
数据结构之栈,队列,树
c语言·开发语言·数据结构·c++
一个没有本领的人3 小时前
win11+matlab2021a配置C-COT
c语言·开发语言·matlab·目标跟踪
一只自律的鸡3 小时前
C项目 天天酷跑(下篇)
c语言·开发语言