美食分享网站怎么做,led灯外贸网站建设,网址域名ip查询,深圳企业网站制作公司查询思维导图#xff1a; 编程
完善对话框#xff0c;点击登录对话框#xff0c;如果账号和密码匹配#xff0c;则弹出信息对话框#xff0c;给出提示”登录成功“#xff0c;提供一个Ok按钮#xff0c;用户点击Ok后#xff0c;关闭登录界面#xff0c;跳转到其他界面
如…思维导图 编程
完善对话框点击登录对话框如果账号和密码匹配则弹出信息对话框给出提示”登录成功“提供一个Ok按钮用户点击Ok后关闭登录界面跳转到其他界面
如果账号和密码不匹配弹出错误对话框给出信息”账号和密码不匹配是否重新登录“,并提供两个按钮Yes|No用户点击Yes后清除密码框中的内容继续让用户进行登录如果用户点击No按钮则直接关闭登录界面
如果用户点击取消按钮则弹出一个问题对话框给出信息”您是否确定要退出登录“并给出两个按钮Yes|No用户迪纳基Yes后关闭登录界面用户点击No后关闭对话框继续执行登录功能
要求基于属性版和基于静态成员函数版至少各用一个
代码
success.h
#ifndef SUCCESS_H
#define SUCCESS_H#include QWidgetnamespace Ui {
class success;
}class success : public QWidget
{Q_OBJECTpublic:explicit success(QWidget *parent nullptr);~success();
public slots:void my_jump_slot();//第二个界面的槽函数声明
private:Ui::success *ui;
};#endif // SUCCESS_Hwidge.h
#ifndef WIDGET_H
#define WIDGET_H#include QWidget
#includeQPushButton
QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACEclass Widget : public QWidget
{Q_OBJECTpublic:Widget(QWidget *parent nullptr);~Widget();signals:void my_jump(); //第一个界面信号的声明
public slots: //槽函数权限 该权限下函数都是槽函数void my_slot(); //需要声明也要实现void my_slot1();
private slots:void on_But2_clicked();//第一个登录成功的//void on_But2_clicked2();//第一个登录失败的void on_But1_clicked();private:Ui::Widget *ui;};
#endif // WIDGET_Hmain.cpp
#include widget.h
#include success.h
#include QApplicationint main(int argc, char *argv[])
{QApplication a(argc, argv);Widget w;w.show();success s;//手动连接QObject::connect(w,Widget::my_jump,s,success::my_jump_slot);return a.exec();
}success.cpp
#include success.h
#include ui_success.hsuccess::success(QWidget *parent) :QWidget(parent),ui(new Ui::success)
{ui-setupUi(this);
}success::~success()
{delete ui;
}
//第二个界面槽函数的实现
void success::my_jump_slot()
{this-show();//显示界面
}widget.cpp
#include widget.h
#include ui_widget.h
#includeQDebug
#includeQMessageBox
Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui-setupUi(this);//设置密码显示ui-Edit2-setEchoMode(QLineEdit::Password);//设置占位ui-Edit1-setPlaceholderText(账号);ui-Edit2-setPlaceholderText(密码);//标签ui-lab1-setPixmap(QPixmap(:/pictrue/login.png));ui-lab1-setScaledContents(true);ui-lab2-setPixmap(QPixmap(:/pictrue/passwd.jpg));ui-lab2-setScaledContents(true);//手动连接槽函数qt5退出connect(ui-But1, QPushButton::clicked, this, Widget::on_But1_clicked);//使用手动连接qt5//connect(ui-But2,QPushButton::clicked,this,Widget::my_slot1);connect(ui-But2,QPushButton::clicked,this,Widget::on_But2_clicked);
}Widget::~Widget()
{delete ui;
}void Widget::my_slot()
{close();
}
void Widget::my_slot1()
{if(ui-Edit1-text()admin){if(ui-Edit2-text()123456){Widget::on_But2_clicked();}else{qDebug(%s,密码错误);qDebug(%s,登录失败);// Widget::on_But2_clicked2();//登录失败的槽函数}}else{qDebug(%s,账号错误);qDebug(%s,登录失败);ui-Edit1-clear();ui-Edit2-clear();//清空}}void Widget::on_But2_clicked()
{if(ui-Edit1-text()admin ui-Edit2-text()123456){//弹出信息对话框QMessageBox msg(QMessageBox::Information, //对话图标信息, //对话框标题登录成功,//提示文本QMessageBox::Ok, //提供按钮this //指定父组件);//调用exec()弹出对话框int retmsg.exec();//根据用户的选择 执行不同的功能if(retQMessageBox::Ok){this-close();//关闭登录页面emit my_jump(); //触发第一个界面的信号}}else if(ui-Edit1-text()admin ui-Edit2-text()!123456){//调用QMessageBox的静态成员函数 弹出对话框int retQMessageBox::critical(this, //指定父组件错误对话框,账号密码不匹配是否重新登录,QMessageBox::Yes|QMessageBox::No);if(retQMessageBox::Yes){ui-Edit2-clear();//清空密码}else{this-close();}}
}//void Widget::on_But2_clicked2()//登录失败的槽函数
//{//}void Widget::on_But1_clicked()
{QMessageBox MSG(QMessageBox::Question,问题对话框,您是否确定退出登录,QMessageBox::Yes|QMessageBox::No,this);//调用exec()弹出对话框int retMSG.exec();if(retQMessageBox::Yes){this-close();}else if(QMessageBox::No) {this-show();}
}运行效果
登录成功