复制代码
#include "mywnd.h"
#include "ui_mywnd.h"
MyWnd::MyWnd(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MyWnd)
{
ui->setupUi(this);
//将当前界面的信号,与s1界面的槽函数进行连接
s1=new Second;
connect(this,&MyWnd::btn1_signal,s1,&Second::jump_slot);
//对页面进行修改
this->setFixedSize(QSize(800,700)); //固定文件框的大小
this->setWindowTitle("华清远见"); //设置文件的标题
this->setWindowIcon(QIcon(":/icon/wodepeizhenshi.png")); //为标题加图片
//设置logo图片
lab1=new QLabel(this); //构造一个lab,指定父组件
lab1->resize(800,250); //设置图片尺寸
lab1->setPixmap(QPixmap(":/icon/logo.png")); //设置logo图片
lab1->setScaledContents(true); //设置图片自适应
//设置username图片
lab2=new QLabel(this); //构造一个lab,指定父组件
lab2->resize(50,50); //设置图片尺寸
lab2->move(230,300); //设置图片位置
lab2->setPixmap(QPixmap(":/icon/username.jpg")); //设置logo图片
lab2->setScaledContents(true); //设置图片自适应
//设置passwd图片
lab3=new QLabel(this); //构造一个lab,指定父组件
lab3->resize(50,50); //设置图片尺寸
lab3->move(230,380); //设置图片位置
lab3->setPixmap(QPixmap(":/icon/passwd.jpg")); //设置logo图片
lab3->setScaledContents(true); //设置图片自适应
//设置username输入文本框
edit1=new QLineEdit(this); //构造一个行编辑器,指定父组件
edit1->resize(300,50); //设置行编辑器大小
edit1->move(300,300); //设置行编辑器位置
edit1->setEchoMode(QLineEdit::Normal); //设置明文模式
edit1->setPlaceholderText("username"); //设置占位符
//设置passwd输入文本框
edit2=new QLineEdit(this); //构造一个行编辑器,指定父组件
edit2->resize(300,50); //设置行编辑器大小
edit2->move(300,380); //设置行编辑器位置
edit2->setEchoMode(QLineEdit::Password); //设置密文模式
edit2->setPlaceholderText("passwd"); //设置占位符
//设置登录按钮
btn1=new QPushButton("登录",this); //构造登录按键,指定父组件
btn1->resize(380,70); //设置按键大小
btn1->setIcon(QIcon(":/icon/login.png")); //设置按键图标
btn1->move(lab3->x(),lab3->y()+80); //设置按键位置
//设置取消按钮
btn2=new QPushButton("取消",this); //构造取消按键,指定父组件
btn2->resize(380,70); //设置按键大小
btn2->setIcon(QIcon(":/icon/cancel.png")); //设置按键图标
btn2->move(btn1->x(),btn1->y()+90); //设置按键位置
//登录按键的信号与槽连接
connect(btn1,&QPushButton::clicked,this,&MyWnd::btn1_slot);
//取消按键的信号与槽连接
connect(btn2,&QPushButton::clicked,this,&MyWnd::btn2_slot);
}
MyWnd::~MyWnd()
{
delete ui;
}
void MyWnd::btn1_slot(){
QMessageBox box(this); //基于属性版本实现消息对话框
if(edit1->text()=="admin"&&edit2->text()=="123456"){
box.setIcon(QMessageBox::Information);
box.setWindowTitle("登陆成功");
box.setText("登陆成功");
box.setStandardButtons(QMessageBox::Ok);
box.setDefaultButton(QMessageBox::Ok);
box.exec();
emit btn1_signal(); //发射跳转的信号
this->hide(); //隐藏第一个页面
}
else{
box.setIcon(QMessageBox::Question);
box.setWindowTitle("匹配错误");
box.setText("账号密码不匹配,是否重新登录?");
box.setStandardButtons(QMessageBox::Ok|QMessageBox::Cancel);
box.setDefaultButton(QMessageBox::Ok);
int ret=box.exec();
if(ret==QMessageBox::Ok){
edit1->clear(); //清空用户框中的内容
edit2->clear(); //清空密码框中的内容
}
else{
this->close(); //关闭页面
}
}
}
void MyWnd::btn2_slot(){
int ret=QMessageBox::warning(this, //基于静态成员函数版本的消息对话框
"是否退出",
"是否确定要退出登录?",
QMessageBox::Yes|QMessageBox::No,
QMessageBox::No);
if(ret==QMessageBox::Yes){
this->close();
}
}