头文件
#ifndef MYWND_H
#define MYWND_H
#include <QPushButton>
#include <QMainWindow>
class MyWnd : public QMainWindow
{
Q_OBJECT
public:
MyWnd(QWidget *parent = nullptr);
~MyWnd();
};
#endif // MYWND_H
源文件
#include "mywnd.h"
#include <iostream>
#include <QDebug>
#include <QLineEdit>
#include <QScrollArea>
#include <QLabel>
MyWnd::MyWnd(QWidget *parent):QMainWindow(parent)
{
//登录界面操作
this->resize(640,480); //设置界面大小
this->setMaximumSize(900,800); //设置界面最大值
this->setMinimumSize(QSize(640,480)); //设置界面最小值
this->setFixedSize(640,480); //设置固定尺寸
qDebug()<<this->windowTitle(); //获取当前组件的窗口标题
this->setWindowTitle("原神"); //将当前组件的窗口标题重命名
this->setWindowIcon(QIcon("D:\\QTtupian\\原神图标.jpg")); //将窗口标题改为指定图标
//设置标签类(设置背景图片)
QLabel *lab1 = new QLabel(this);
lab1->resize(this->size()); //将背景图片设定成和界面一样大小
lab1->setPixmap(QPixmap("D:\\QTtupian\\寂寞阿晴.gif")); //背景图片
lab1->setScaledContents(true); //将图片填满标签
//this->setWindowOpacity(0.9); //设置透明度
//this->setWindowFlag(Qt::FramelessWindowHint); //去掉窗口头部
//设置按钮
QPushButton *btn1 = new QPushButton(QIcon("D:\\QTtupian\\圈.jpg"),"登录",this);
//btn1->setParent(this); //将当前界面设为父组件
//btn1->setText("按钮1"); //给按钮重命名
btn1->resize(100,30); //设置按钮的大小
btn1->move(160,370); //设置按钮的位置
btn1->setStyleSheet("background-color:white;border-radius:10px;"); //颜色和锐化
//btn1->setEnabled(false);
//构造时直接给定图标、文本内容、父组件
QPushButton *btn2 = new QPushButton(QIcon("D:\\QTtupian\\叉.jpg"),"退出",this);
btn2->resize(btn1->size()); //设置和按钮1的大小相同
btn2->move(btn1->x()+220,btn1->y()); //移动离btn1大小为x+220,y的位置
btn2->setStyleSheet("background-color:white;border-radius:10px;"); //颜色和锐化
//实例化标签,并给定初始文本内容,并指定父类
//账号图标
QLabel *lab2 = new QLabel(this);
lab2->setPixmap(QPixmap("D:\\QTtupian\\账号图标.jpg")); //将账号图标放进标签
lab2->setScaledContents(true); //将标签填满
lab2->resize(40,40); //设置标签大小
lab2->move(190,250); //移动标签
lab2->setStyleSheet("background-color:white;"); //将标签设置成白色
//密码图标
QLabel *lab3 = new QLabel(this);
lab3->setPixmap(QPixmap("D:\\QTtupian\\密码图标.jpg"));
lab3->setScaledContents(true);
lab3->resize(lab2->size());
lab3->move(lab2->x(),lab2->y()+50);
lab3->setStyleSheet("background-color:white;");
//行编辑器对象
//账号行
QLineEdit *edit1 = new QLineEdit(this); //账号输入
edit1->resize(250,40); //账号行的大小
edit1->move(lab2->x()+50,lab2->y()); //位置
edit1->setPlaceholderText("米哈游账号/手机号/邮箱"); //设置占位文字
edit1->setAlignment(Qt::AlignCenter); //垂直水平居中
//密码行
QLineEdit *edit2 = new QLineEdit(this);
edit2->resize(edit1->size());
edit2->move(lab3->x()+50,lab3->y());
edit2->setEchoMode(QLineEdit::Password); //设置回显模式
edit2->setMaxLength(6); //限制输入密码长度
edit2->setAlignment(Qt::AlignCenter);
}
MyWnd::~MyWnd()
{
}
主函数
#include "mywnd.h"
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MyWnd w;
w.show();
return a.exec();
}
2、思维导图