DAY 8.30

#include "button.h"
#include "ui_button.h"

button::button(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::button)
{
    ui->setupUi(this);

    this->resize(QSize(560,450));
    this->setWindowIcon(QIcon("D:\\嵌入式\\QT\\day1\\icon\\wodepeizhenshi.png"));
    this->setWindowTitle("鹏哥快聊");

    QLabel *lab1 = new QLabel(this);
    lab1->resize(560,200);
    lab1->setPixmap(QPixmap("D:\\嵌入式\\QT\\day1\\icon\\logo.png"));
    lab1->setScaledContents(true);

    QLabel *lab2 = new QLabel(this);
    lab2->resize(40,40);
    lab2->move(80,240);
    lab2->setPixmap(QPixmap("D:\\嵌入式\\QT\\day1\\icon\\userName.jpg"));
    lab2->setScaledContents(true);

    QLabel *lab3 = new QLabel(this);
    lab3->resize(40,40);
    lab3->move(lab2->x(),lab2->y()+80);
    lab3->setPixmap(QPixmap("D:\\嵌入式\\QT\\day1\\icon\\passwd.jpg"));
    lab3->setScaledContents(true);

    QLineEdit * edit1 = new QLineEdit(this);
    edit1->resize(280,40);
    edit1->move(lab2->x()+80,lab2->y());
    edit1->setPlaceholderText("QQ号码/手机/邮箱");

    QLineEdit * edit2 = new QLineEdit(this);
    edit2->resize(280,40);
    edit2->move(lab3->x()+80,lab3->y());
    edit2->setPlaceholderText("密码");
    edit2->setEchoMode(QLineEdit::Password);

    QPushButton *btn1 = new QPushButton(QIcon("D:\\嵌入式\\QT\\day1\\icon\\login.png"),"登录",this);
    btn1->resize(100,40);
    btn1->move(edit2->x()+100,edit2->y()+80);

    QPushButton *btn2 = new QPushButton(QIcon("D:\\嵌入式\\QT\\day1\\icon\\cancel.png"),"登录",this);
    btn2->resize(100,40);
    btn2->move(btn1->x()+110,btn1->y());


}

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

#ifndef MYWND_H
#define MYWND_H   //防止头文件重复包含

#include     //父类头文件

QT_BEGIN_NAMESPACE
namespace Ui { class MyWnd; }  //命名空间的声明
QT_END_NAMESPACE

class MyWnd : public QWidget   //自定义类,公共继承
{
    Q_OBJECT     //信号与槽的元对象

public:
    MyWnd(QWidget *parent = nullptr);  //有参构造声明,有一个默认参数形参
    ~MyWnd();     //析构函数声明

private:
    Ui::MyWnd *ui;   //类型为Ui::MyWnd的指针,后期可以通过ui指针找到ui界面上拖拽出来的组件
};
#endif // MYWND_H




#include "mywnd.h"   //图形化界面的头文件

#include    //应用程序的头文件

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);   //实例化一个应用程序对象,调用的是有参构造
    MyWnd w;           //在栈区实例化自定义类对象
    w.show();         //调用show函数,展示图形化界面,由父类提供,直接使用
    return a.exec();   //为了阻塞界面不被关闭,等待相关事情的发生,等待信号与槽,事件处理,等待用户操作

}




#include "mywnd.h"       //自己的头文件
#include "ui_mywnd.h"    //ui界面对应的头文件

MyWnd::MyWnd(QWidget *parent)   //构造函数的定义
    : QWidget(parent)           //显性调用父类的构造函数完成对子类继承下来成员的初始化工作
    , ui(new Ui::MyWnd)        //对自己类中的指针成员开辟空间
{
    ui->setupUi(this);      //给拖拽出来的组件实例化空间
}

MyWnd::~MyWnd()         //析构函数的定义
{
    delete ui;          //释放ui指针的内存
}


你可能感兴趣的:(c语言)