输入账户密码成功则跳转界面
widget.cpp
#include "widget.h" //自己的头文件Widget::Widget(QWidget *parent) //构造函数的定义: QWidget(parent) //显性调用父类的构造函数完成子类从父类继承下来的成员的初始化工作, ui(new Ui::Widget) //对自己类的中的指针成员开辟空间
{ui->setupUi(this); //给拖拽出来的组件实例化空间this->setWindowTitle("鹏哥快聊"); //设置窗口标题this->setWindowIcon(QIcon(":/icon/wodepeizhenshi.png")); //设置窗口的图标iconthis->resize(540,410); //设置窗口的大小this->setFixedSize(540,410); //设置固定尺寸lab1 = new QLabel(this); //实例化一个标签1lab1->resize(540,180); //设置标签1的大小lab1->setPixmap(QPixmap(":/icon/logo.png")); //设置标签1的图标iconlab1->setScaledContents(true); //设置内容自适应lab2 = new QLabel(this); //实例化一个标签2lab2->resize(50,35); //设置标签2的大小lab2->move(100,210); //移动标签2的位置lab2->setPixmap(QPixmap(":/icon/userName.jpg")); //设置标签2的图标iconlab2->setScaledContents(true); //设置内容自适应lab3 = new QLabel(this); //实例化一个标签3lab3->resize(50,35); //设置标签3的大小lab3->move(100,290); //移动标签3的位置lab3->setPixmap(QPixmap(":/icon/passwd.jpg")); //设置标签2的图标iconlab3->setScaledContents(true); //设置内容自适应edit = new QLineEdit(this); //实例化一个行编辑器1edit->setPlaceholderText("QQ号码/手机/邮箱");edit->move(200,210); //移动行编辑器1的位置edit->resize(200,35); //设置行编辑器1的大小edit2 = new QLineEdit(this);edit2->setPlaceholderText("密码");edit2->move(200,290); //移动行编辑器2的位置edit2->resize(200,35); //设置行编辑器2的大小edit2->setEchoMode(QLineEdit::Password); //设置回显模式btn1 = new QPushButton("登录",this); //实例化按钮1btn1->resize(90,37); //设置按钮1的大小btn1->setIcon(QIcon(":/icon/login.png")); //设置图标btn1->move(310,360); //移动按钮1的位置btn2 = new QPushButton("取消",this);btn2->resize(90,37); //设置按钮1的大小btn2->setIcon(QIcon(":/icon/cancel.png")); //设置图标btn2->move(410,360); //移动按钮2的位置connect(this->btn1,&QPushButton::clicked,this,&Widget::on_btn1_clicked);connect(this->btn2,SIGNAL(pressed()),this,SLOT(close()));}void Widget::on_btn1_clicked()
{if(Widget::edit->text() == "admin"){if(Widget::edit2->text() == "123456"){qDebug() << "登录成功";emit jump();this->close();}}else{qDebug() << "账户错误";edit2->clear();}
}Widget::~Widget() //析构函数的定义
{delete ui; //释放ui指针的内存
}
main.cpp
#include "widget.h" //图形化界面的头文件
#include<form.h>int main(int argc, char *argv[])
{QApplication a(argc, argv); //实例化一个应用程序的对象Widget w; //在栈区实例化自定义类的对象w.show(); //调用show函数,展示图形化界面,该函数是父类提供的,直接用即可Form f;QObject::connect(&w,&Widget::jump,&f,&Form::jump_slot);return a.exec(); //为了阻塞界面不被关闭,等待相关事情的发生//等待信号与槽,事件处理,等待用户操作
}
form.cpp
#include "form.h"
#include "ui_form.h"Form::Form(QWidget *parent) :QWidget(parent),ui(new Ui::Form)
{ui->setupUi(this);
}Form::~Form()
{delete ui;
}void Form::jump_slot()
{this->show();
}
界面2
XMind