• QTday3


    1. #include "widget.h"
    2. #include "ui_widget.h"
    3. Widget::Widget(QWidget *parent)
    4. : QWidget(parent)
    5. , ui(new Ui::Widget)
    6. {
    7. ui->setupUi(this);
    8. this->setWindowTitle("请尝试登录>_<");
    9. ui->name->setPlaceholderText("请输入用户名/账号/邮箱");
    10. ui->password->setPlaceholderText("请输入密码");
    11. ui->password->setEchoMode(QLineEdit::Password);//密码不可见
    12. this->connect(ui->btn2,SIGNAL(clicked()),this,SLOT(on_btn2()));//qt4退出
    13. connect(ui->btn1,&QPushButton::clicked,this,&Widget::on_btn1);//qt5登录
    14. }
    15. Widget::~Widget()
    16. {
    17. delete ui;
    18. }
    19. void Widget::on_btn1()
    20. {
    21. if(ui->name->text()=="admin" && ui->password->text()=="123456")
    22. {
    23. QMessageBox msg(
    24. QMessageBox::Information,//图标
    25. "提示",//对话框标题
    26. "登录成功",//对话框文本
    27. QMessageBox::Ok,//提供按钮
    28. this);//父对象
    29. int ret = msg.exec();//exec()函数执行对话框
    30. if(ret == QMessageBox::Ok)//按钮判断
    31. {
    32. this->close();
    33. emit jump();
    34. }
    35. }
    36. else
    37. {
    38. QMessageBox msg1(
    39. QMessageBox::Information,
    40. "提示",
    41. "账号与信息不符,是否重新登录",
    42. QMessageBox::Yes | QMessageBox::No,
    43. this);
    44. int ret1 = msg1.exec();
    45. if(ret1 == QMessageBox::Yes)
    46. {
    47. ui->password->clear();
    48. }
    49. else if(ret1 == QMessageBox::No)
    50. {
    51. this->close();
    52. }
    53. }
    54. }
    55. void Widget::on_btn2()
    56. {//静态成员函数调用
    57. int ret2 = QMessageBox::question(this,
    58. "提示",
    59. "你是否要退出登录",
    60. QMessageBox::Yes | QMessageBox::No);
    61. if(ret2 == QMessageBox::Yes)
    62. {
    63. this->close();
    64. }
    65. }
    1. #ifndef WIDGET_H
    2. #define WIDGET_H
    3. #include
    4. #include
    5. #include
    6. #include
    7. QT_BEGIN_NAMESPACE
    8. namespace Ui { class Widget; }
    9. QT_END_NAMESPACE
    10. class Widget : public QWidget
    11. {
    12. Q_OBJECT
    13. public:
    14. Widget(QWidget *parent = nullptr);
    15. ~Widget();
    16. signals://信号函数
    17. void jump();
    18. public slots://公共的槽函数
    19. private slots:
    20. void on_btn1();
    21. void on_btn2();
    22. private:
    23. Ui::Widget *ui;
    24. QPushButton *btn1;
    25. QPushButton *btn2;
    26. };
    27. #endif // WIDGET_H
    1. #include "form.h"
    2. #include "ui_form.h"
    3. Form::Form(QWidget *parent) :
    4. QWidget(parent),
    5. ui(new Ui::Form)
    6. {
    7. ui->setupUi(this);
    8. }
    9. Form::~Form()
    10. {
    11. delete ui;
    12. }
    13. void Form::jumpSlot()
    14. {
    15. this->show();
    16. }
    1. #ifndef FORM_H
    2. #define FORM_H
    3. #include
    4. namespace Ui {
    5. class Form;
    6. }
    7. class Form : public QWidget
    8. {
    9. Q_OBJECT
    10. public:
    11. explicit Form(QWidget *parent = nullptr);
    12. ~Form();
    13. public slots:
    14. void jumpSlot();
    15. private:
    16. Ui::Form *ui;
    17. };
    18. #endif // FORM_H

  • 相关阅读:
    _排序查询
    猿创征文|【单片机】keil和Proteus使用教程
    3-2数据链路层-流量控制与可靠传输机制
    把文件上传到Gitee的详细步骤
    【21学习挑战赛——华为OD机试JAVA】
    计算机网络工程毕业设计题目选题大全
    OWASP Top 10漏洞解析(3)- A3:Injection 注入攻击
    【进程间通信】进程间通信方式汇总
    shiro介绍和使用
    在PHP8中向数组添加元素-PHP8知识详解
  • 原文地址:https://blog.csdn.net/m0_73912044/article/details/133933519