自由发挥登录窗口的应用场景,实现一个登录窗口界面
头文件代码:
#ifndef MYWIDGET_H
#define MYWIDGET_H#include <QWidget>
#include <QIcon>
#include <QLabel> //标签类
#include <QMovie> //动图类
#include <QLineEdit> //行编辑器类
#include <QPushButton> //按钮类class MyWidget : public QWidget
{Q_OBJECTpublic:MyWidget(QWidget *parent = nullptr);~MyWidget();
};
#endif // MYWIDGET_H
源文件:
#include "mywidget.h"MyWidget::MyWidget(QWidget *parent): QWidget(parent)
{//设置并固定窗口大小this->setFixedSize(600,500);//设置窗口的图片this->setWindowIcon(QIcon("D:/桌面/pictrue/1.jpg"));//设置窗口的标题this->setWindowTitle("登录账号界面");//创建一个标签类指针同时将父对象设为当前this指针指向的对象wQLabel *lab1 = new QLabel(this);//设置标签大小lab1->resize(600,150);//创建一个动图类指针接收动图QMovie *mv = new QMovie("D:/桌面/pictrue/dt.gif");//将动图放入标签中lab1->setMovie(mv);//让动图动起来mv->start();//自动适应lab1lab1->setScaledContents(true);//创建一个标签类指针同时将父对象设为当前this指针指向的对象wQLabel *lab2 = new QLabel(this);//设置标签的大小lab2->resize(50,50);//移动标签的位置lab2->move(170,200);//设置标签的图片lab2->setPixmap(QPixmap("D:/桌面/pictrue/2.jpg"));//自动适应lab2lab2->setScaledContents(true);//创建一个标签类指针同时将父对象设为当前this指针指向的对象wQLabel *lab3 = new QLabel(this);//设置标签的大小lab3->resize(50,50);//移动标签的位置lab3->move(170,260);//设置标签的图片lab3->setPixmap(QPixmap("D:/桌面/pictrue/3.jpg"));//自动适应lab3lab3->setScaledContents(true);//创建一个行编辑器类的指针同时将父对象设为当前this指针指向的对象wQLineEdit *edit1 = new QLineEdit(this);//设置行编辑器的大小edit1->resize(200,50);//移动行编辑器的位置edit1->move(220,200);//占位edit1->setPlaceholderText("账号");//创建一个行编辑器类的指针同时将父对象设为当前this指针指向的对象wQLineEdit *edit2 = new QLineEdit(this);//设置行编辑器的大小edit2->resize(200,50);//移动行编辑器的位置edit2->move(220,260);//占位edit2->setPlaceholderText("密码");//设置显示模式edit2->setEchoMode(QLineEdit::Password);//创建一个按钮类的指针同时设置文本并将父对象设为当前this指针指向的对象wQPushButton *btn1 = new QPushButton("登录",this);//设置按钮大小btn1->resize(300,50);//移动按钮的位置btn1->move(150,350);//设置按钮的颜色并倒角btn1->setStyleSheet("background-color:rgb(40,200,250)");
}MyWidget::~MyWidget()
{
}
主函数文件:
#include "mywidget.h"#include <QApplication>int main(int argc, char *argv[])
{QApplication a(argc, argv);MyWidget w;w.show();return a.exec();
}
运行结果:
思维导图: