QT : 仿照QQ 完成弹出登录窗口,并实例化组件

1. 运行效果图

QT : 仿照QQ 完成弹出登录窗口,并实例化组件_第1张图片

2. Headers

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include 


class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = nullptr);
    ~MainWindow();
};
#endif // MAINWINDOW_H

3. mainWindow.cpp :

#include "mainwindow.h"

#include    //按钮头文件
#include         //信息调试类,用于数据的输出使用
#include         //标签头文件
#include      //行编辑器的头文件
MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
{

    this->setFixedSize(400,300);           //设定窗口大小
    this->setWindowTitle("Widget");        //设定窗口标题为: Widget

    //设置窗口标题图标
    this->setWindowIcon(QIcon("D:\\QT\\project\\wodepeizhenshi.png"));

    this->setStyleSheet("background-color:white;");     //设置样式表

    QLabel *label=new QLabel(this);         //实例化一个标签类,用来放图片
    label->resize(400,150);                 //重新设定标签的大小
    label->setPixmap(QPixmap("D:\\QT\\project\\logo.png"));     //将logo放入标签内
    label->setScaledContents(true);         //将logo设定为自定义适应

    QLineEdit *edit1= new QLineEdit(this);   //实例化一个行编辑器,并指定父组件,存储账号
    edit1->resize(150,20);                   //重新设置行编辑器的大小
    edit1->setPlaceholderText("账号 ");       //设置占位文本提示为账号行
    edit1->move(120,170);                    //移动该行编辑器

    QLineEdit *edit2= new QLineEdit(this);   //实例化一个行编辑器,并指定父组件,存储密码
    edit2->resize(150,20);                   //重新设置行编辑器的大小
    edit2->setPlaceholderText("密码 ");       //设置占位文本提示为密码行
    edit2->setEchoMode(QLineEdit::Password);   //设置为密码显示
    edit2->setMaxLength(6);                    //设置密码最大长度为6位
    edit2->move(120,200);                    //移动该行编辑器

    QLabel *label1 = new QLabel(this);       //实例化一个账号logo标签
    label1->resize(30,20);                   //重新设置logo标签的大小
    label1->setPixmap(QPixmap("D:\\QT\\project\\userName.jpg"));  //将logo放入标签
    label1->setScaledContents(true);         //将logo设定为自适应
    label1->move(80,170);                    //移动账号logo标签

    QLabel *label2 = new QLabel(this);       //实例化一个密码logo标签
    label2->resize(30,20);                   //重新设置logo标签的大小
    label2->setPixmap(QPixmap("D:\\QT\\project\\passwd.jpg"));  //将logo放入标签
    label2->setScaledContents(true);         //将logo设定为自适应
    label2->move(80,200);                    //移动账号logo标签


    QPushButton *but1= new QPushButton("登录",this);       //实例化一个登录按钮并初始化
    but1->setIcon(QIcon("D:\\QT\\project\\login.png"));   //将login放入按钮内
    but1->resize(50,25);                    //重新设置登录按钮的大小
    but1->move(130,240);                    //移动登录按钮

    QPushButton *but2= new QPushButton("登录",this);       //实例化一个取消按钮并初始化
    but2->setIcon(QIcon("D:\\QT\\project\\cancel.png"));   //将login放入按钮内
    but2->resize(50,25);                    //重新设置取消按钮的大小
    but2->move(200,240);                    //移动取消按钮
}

MainWindow::~MainWindow()
{
}

4. main.cpp :

#include "mainwindow.h"

#include 

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    w.show();
    return a.exec();
}

5. 思维导图

你可能感兴趣的:(qt,开发语言,c++,运维)