ToB企服应用市场:ToB评测及商务社交产业平台

标题: 10.8逐日作业 [打印本页]

作者: 尚未崩坏    时间: 2024-10-8 22:38
标题: 10.8逐日作业
 

当用户点击取消按钮,弹出题目对话框,询问是否要确定退出登录,并提供两个按钮,yes|No,如果用户点击的Yes,则关闭对话框,如果用户点击的No,则继承登录
当用户点击的登录按钮,进行账号和暗码的匹配,如果匹配乐成,则弹出信息对话框,给出信息为,登录乐成,并给出一个确定按钮,当用户点击该按钮后,关闭登录界面,弹出另一个界面
当账号和暗码不匹配是,给堕落误对话框,给出信息为账号和暗码不匹配,是否重新登录,并提供两个按钮 Yes|No,如果用户点击了Yes,则清空暗码框后,继承登录。如果用户点击的取消,则关闭登录界面
要求:静态成员函数版本和对象版本各至少实现一个
main.c
  1. #include "widget.h"
  2. #include"second.h"             //第二个界面的头文件
  3. #include <QApplication>
  4. int main(int argc, char *argv[])
  5. {
  6.     QApplication a(argc, argv);
  7.     Widget w;                       //实例化的第一个界面
  8.     w.show();
  9.     Second s;                        //实例化第二个界面
  10.     //将第一个界面的跳转信号与第二个界面的槽函数进行连接
  11.     //s.connect(&w, &Widget::jump, &s, &Second::jump_slot);
  12.     //w.connect(&w, &Widget::jump, &s, &Second::jump_slot);
  13.     QObject::connect(&w, &Widget::jump, &s, &Second::jump_slot);
  14.     return a.exec();
  15. }
复制代码
widget.cpp 
  1. #include "widget.h"
  2. #include "ui_widget.h"
  3. #include<QMessageBox>            //消息对话框类
  4. #include<QDebug>
  5. Widget::Widget(QWidget *parent)
  6.     : QWidget(parent)
  7.     , ui(new Ui::Widget)
  8. {
  9.     ui->setupUi(this);
  10.     this->resize(900,800);                        //重置界面尺寸
  11.     this->setWindowTitle("登录");                 //设置界面名称为:登录
  12.     this->setWindowIcon(QIcon("C:\\Users\\86183\\Desktop\\icon_dj40cz9xze4\\pictrue\\qq.png"));
  13.     //设置界面图标
  14.     //QLabel *
  15.     lab1 = new QLabel(this);              //定义文本
  16.     lab1->resize(300,200);                        //设置文本框大小
  17.     lab1->move(300,200);                          //移动文本位置
  18.     lab1->setPixmap(QPixmap("C:\\Users\\86183\\Desktop\\icon_dj40cz9xze4\\qq.png"));
  19.     //设置文本为图片
  20.     lab1->setScaledContents(true);                //设置图片自动缩放
  21.     //QLabel *
  22.     lab2 = new QLabel("账号:",this);      //定义文本
  23.     lab2->resize(50,40);                          //重置文本框大小
  24.     lab2->move(lab1->x(),lab1->y()+lab1->height()+10);  //移动文本位置
  25.     //QLabel *
  26.     lab3 = new QLabel("密码:",this);       //定义文本
  27.     lab3->resize(50,40);                          //重置文本框大小
  28.     lab3->move(lab2->x(),lab2->y()+lab2->height());    //移动文本位置
  29.     //QLineEdit *
  30.     edit1 = new QLineEdit(this);
  31.     edit1->resize(250,30);                      //重置尺寸
  32.     edit1->move(lab2->x()+lab2->width(),lab2->y());
  33.     edit1->setStyleSheet("color:black");        //设置字体颜色
  34.     edit1->setAlignment(Qt::AlignCenter);       //设置文本对齐方式:居中
  35.     edit1->setPlaceholderText("输入QQ账号");     //设置占位文本
  36.     //QLineEdit *
  37.     edit2 = new QLineEdit(this);
  38.     edit2->resize(250,30);                      //重置尺寸
  39.     edit2->move(lab3->x()+lab3->width(),lab3->y());
  40.     edit2->setStyleSheet("color:black");         //设置字体颜色
  41.     edit2->setAlignment(Qt::AlignCenter);       //设置文本对齐方式:居中
  42.     edit2->setEchoMode(QLineEdit::Password);    //设置密文模式
  43.     edit2->setPlaceholderText("输入QQ密码");     //设置占位文本
  44.     //QPushButton *
  45.     btn1 = new QPushButton("登录",this);     //定义按键
  46.     btn1->resize(110,40);                                //重置按键大小
  47.     btn1->move(lab3->x(),lab3->y()+lab3->height());      //移动按键位置
  48.     //QPushButton *
  49.     btn2 = new QPushButton("取消",this);     //定义按键
  50.     btn2->resize(110,40);                                //重置按键大小
  51.     btn2->move(btn1->x()+btn1->width()+80,btn1->y());      //移动按键位置
  52.     /*
  53. 当用户点击取消按钮,弹出问题对话框,询问是否要确定退出登录,并提供两个按钮,yes|No,如果用户点击的Yes,则关闭对话框,如果用户点击的No,则继续登录
  54. 当用户点击的登录按钮,进行账号和密码的匹配,如果匹配成功,则弹出信息对话框,给出信息为,登录成功,并给出一个确定按钮,当用户点击该按钮后,关闭登录界面,弹出另一个界面
  55. 当账号和密码不匹配是,给出错误对话框,给出信息为账号和密码不匹配,是否重新登录,并提供两个按钮 Yes|No,如果用户点击了Yes,则清空密码框后,继续登录。如果用户点击的取消,则关闭登录界面
  56.      */
  57.     connect(btn1, &QPushButton::clicked, this, &Widget::my_signal_1_slot);
  58.     connect(btn2, &QPushButton::clicked, this, &Widget::my_signal_2_slot);
  59. }
  60. Widget::~Widget()
  61. {
  62.     delete ui;
  63. }
  64. void Widget::my_signal_1_slot()
  65. {
  66.     if(edit1->text() == "sc"&& edit2->text() == "123" )
  67.     {
  68.         QMessageBox box(QMessageBox::Question,
  69.                         "结果",
  70.                         "登录成功",
  71.                         QMessageBox::Yes,
  72.                         this);
  73.         box.setButtonText(QMessageBox::Yes, "确定");
  74.         box.setDefaultButton(QMessageBox::No);
  75.         int btn = box.exec();
  76.         if(btn == QMessageBox::Yes)
  77.         {
  78.             this->close();
  79.             emit jump();
  80.         }
  81.     }
  82.     else
  83.     {
  84.         QMessageBox box(QMessageBox::Question,
  85.                         "结果",
  86.                         "账号与密码不匹配,是否重新登录",
  87.                         QMessageBox::Yes|QMessageBox::No,
  88.                         this);
  89.         int btn = box.exec();
  90.         if(btn == QMessageBox::Yes)
  91.         {
  92.             edit2->clear();
  93.         }
  94.         else if(btn == QMessageBox::No)
  95.         {
  96.             this->close();
  97.         }
  98.     }
  99. }
  100. void Widget::my_signal_2_slot()
  101. {
  102.         int btn = QMessageBox::warning(this,
  103.                              "警告",
  104.                              "是否要确定退出登录",
  105.                              QMessageBox::Yes|QMessageBox::No,
  106.                              QMessageBox::No);
  107.         if(btn == QMessageBox::Yes)
  108.         {
  109.             this->close();
  110.         }
  111.         else if(btn==QMessageBox::No)
  112.         {
  113.         }
  114. }
复制代码


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4