2023/12/11 作业

1.思维导图

2.作业

成果:

第一个头文件

#ifndef TEST3GET_H
#define TEST3GET_H

  
#include <QWidget>
#include<QMessageBox>
QT_BEGIN_NAMESPACE
namespace Ui { class test3get; }
QT_END_NAMESPACE

  
class test3get : public QWidget
{
 
    Q_OBJECT

  
public:
    test3get(QWidget *parent = nullptr);
    ~test3get();
    //声明信号函数
signals:
    void my_signal();
    //声明槽函数
private slots:
    void on_pushButton_clicked();

  
private:
    Ui::test3get *ui;
};
#endif // TEST3GET_H

========================================================================

第二个头文件

#ifndef SENCEND_H
#define SENCEND_H

  
#include <QWidget>
#include<QPushButton>
namespace Ui {
 
class sencend;
}

  
class sencend : public QWidget
{
 
    Q_OBJECT

  
public:
    explicit sencend(QWidget *parent = nullptr);
    ~sencend();

  
private:
    Ui::sencend *ui;
//声明信号函数
signals:
void  mysignal();
//声明槽函数
public slots:
    void s_slots();
    void  my_slots();
};

  
#endif // SENCEND_H
=======================================================================================

第一个实现文件

#include "test3get.h"
#include "ui_test3get.h"

  
test3get::test3get(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::test3get)
{
 
    //关闭画面头
this->setWindowFlag(Qt::FramelessWindowHint);

  
    this->setAttribute(Qt::WA_TranslucentBackground);
    ui->setupUi(this);
}

  
test3get::~test3get()
{
 
    delete ui;
}

  
//建立槽函数
void test3get::on_pushButton_clicked()
{
 
    //判断用户名和密码是否正确
    if(ui->username->text()=="addmin"&&ui->password->text()=="123456")
    {
 
//建立一个接收值
    int res;
    //建立属性对话框
       QMessageBox msg(
                   //是否有图标
        QMessageBox::NoIcon,
    //信息头
         "信息内容",
                   //信息内容
          "登录成功",
                   //按钮
          QMessageBox::Ok|QMessageBox::No,
                   //指定父组件
                this
    );
       //弹出对话框
   res=msg.exec();
   //点击判断是否为ok
   if(res==QMessageBox::Ok)
   {
 
       //关闭挡墙页面
     this->close();
       //并发送一个信号函数让其他槽函数接收到
       emit my_signal();

  
   }
    }
    else{
 
        //静态成员对话框
          int res=QMessageBox::question(
                      //父组件
                     this,
                      //对话框信息头
                      "消息内容",
                      //对话框信息内容
                      "用户名或密码错误",
                      //按钮yes/no
                      QMessageBox::Yes|QMessageBox::No
                     );
          //点击yes
          if(res==QMessageBox::Yes)
          {
 
             // 清空username
              this->ui->username->clear();
              //清空password
              this->ui->password->clear();
              //点击no就关闭窗口
          }else  if(res==QMessageBox::No){
 
              //关闭窗口
              this->close();
          }
    }
}
=======================================================================================

第二个实现文件

#include "sencend.h"
#include "ui_sencend.h"

  
sencend::sencend(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::sencend)
{
 
    ui->setupUi(this);
    //删除页面头
    this->setWindowFlag(Qt::FramelessWindowHint);
}

  
sencend::~sencend()
{
 
    delete ui;
}

  
void sencend::s_slots()
{
 
    //生成第二个页面
   this->show();
    //点击exit退出
    connect(ui->exit,&QPushButton::clicked,this,&sencend::my_slots);
}
//exit退出
void sencend::my_slots()
{
 
//关闭sencend页面
    this->close();
}
=======================================================================================

main函数

#include "test3get.h"
#include "sencend.h"
#include <QApplication>

  
int main(int argc, char *argv[])
{
 
    QApplication a(argc, argv);
    test3get w;

  
    w.show();
    //建立一个sencend对象
    sencend s;
    //按钮实现形成两个页面的切换
    QObject::connect(&w,&test3get::my_signal,&s,&sencend::s_slots);
    return a.exec();
}
=======================================================================================

相关推荐

  1. Python3 字符串 ----20231216

    2023-12-12 08:42:02       44 阅读
  2. 20231212 cmake 编译中间库

    2023-12-12 08:42:02       43 阅读
  3. Python3 数字(Number) ----20231215

    2023-12-12 08:42:02       40 阅读
  4. 20231210 随机矩阵和M矩阵

    2023-12-12 08:42:02       35 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-12 08:42:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-12 08:42:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-12 08:42:02       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-12 08:42:02       20 阅读

热门阅读

  1. Elasticsearch

    2023-12-12 08:42:02       31 阅读
  2. 什么是Scss

    2023-12-12 08:42:02       30 阅读
  3. Matlab矩阵中元素交换

    2023-12-12 08:42:02       39 阅读
  4. Linux中的几个重要指令

    2023-12-12 08:42:02       27 阅读
  5. 剑指 Offer(第2版)面试题 24:反转链表

    2023-12-12 08:42:02       45 阅读
  6. Network Repo Installation for Ubuntu(gds)

    2023-12-12 08:42:02       39 阅读
  7. 如何截取Hive数组中的前N个元素?

    2023-12-12 08:42:02       39 阅读
  8. C# DI依赖注入

    2023-12-12 08:42:02       37 阅读