#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 <QWidget> //父类头文件
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 <QApplication> //应用程序的头文件
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指针的内存
}