当前位置: 首页 > news >正文

9.18 QT作业

mainwindow.h

QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACEclass MainWindow : public QMainWindow
{Q_OBJECTpublic:MainWindow(QWidget *parent = nullptr);~MainWindow();signals:void jump();           //自定义跳转信号函数private slots:void on_pushButton_clicked();void on_pushButton_2_clicked();private:Ui::MainWindow *ui;Second *s1;  //定义另一个界面的指针
};
#endif // MAINWINDOW_H

second.h

#ifndef SECOND_H
#define SECOND_H#include <QDialog>namespace Ui {
class Second;
}class Second : public QDialog
{Q_OBJECTpublic:explicit Second(QWidget *parent = nullptr);~Second();public slots:void jump_slot();         //接收跳转信号的槽函数private:Ui::Second *ui;
};#endif // SECOND_H

mianwindow.cpp

#include "mainwindow.h"
#include "ui_mainwindow.h"MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow)
{ui->setupUi(this);ui->label->setPixmap(QPixmap("D:\\QTtupian\\jimoaqing.gif"));ui->label->setScaledContents(true);ui->label_2->setPixmap(QPixmap("D:\\QTtupian\\zhanghao.jpg"));ui->label_2->setScaledContents(true);ui->label_3->setPixmap(QPixmap("D:\\QTtupian\\mima.jpg"));ui->label_3->setScaledContents(true);s1 = new Second;            //给另一个界面实例化空间//将当前界面的信号,与s1界面的槽函数进行连接connect(this,&MainWindow::jump, s1, &Second::jump_slot);
}MainWindow::~MainWindow()
{delete ui;
}void MainWindow::on_pushButton_clicked()
{if(ui->lineEdit->text()=="admin"&&ui->lineEdit_2->text()=="123456"){//信息对话框QMessageBox box(QMessageBox::Question,"信息对话框","登录成功",QMessageBox::Ok,this);box.setDefaultButton(QMessageBox::Ok);  //默认到ok上int ret = box.exec();  //运行对话框if(ret == QMessageBox::Ok){emit jump();  //发送跳转信息this->hide();        //将当前界面隐藏}}else{//错误对话框QMessageBox box(QMessageBox::Question,"错误对话框","账号密码不匹配,是否重新登录",QMessageBox::Ok|QMessageBox::Cancel,this);box.setDefaultButton(QMessageBox::Ok);  //默认到ok上int ret = box.exec();  //运行对话框switch(ret){case QMessageBox::Ok:ui->lineEdit->clear();  //清楚账号密码内容ui->lineEdit_2->clear();break;case QMessageBox::Cancel://ret=box.close();break;}}}void MainWindow::on_pushButton_2_clicked()
{//问题对话框int ret = QMessageBox::question(this,"问题对话框","是否确定要退出登录",QMessageBox::Yes|QMessageBox::No,QMessageBox::No);switch(ret){case QMessageBox::Yes:this->close();  //关闭窗口break;case QMessageBox::No:break;}
}

second.cpp

#include "second.h"
#include "ui_second.h"Second::Second(QWidget *parent) :QDialog(parent),ui(new Ui::Second)
{ui->setupUi(this);
}Second::~Second()
{delete ui;
}//接收跳转信号对应的槽函数
void Second::jump_slot()
{this->show();            //将自己界面进行展示
}

main.cpp

#include "mainwindow.h"#include <QApplication>int main(int argc, char *argv[])
{QApplication a(argc, argv);MainWindow w;w.show();return a.exec();
}

http://www.lryc.cn/news/172792.html

相关文章:

  • 【100天精通Python】Day67:Python可视化_Matplotlib 绘动画,2D、3D 动画 示例+代码
  • Linux内核源码分析 (B.x)Linux页表的映射
  • 机器学习(15)---代价函数、损失函数和目标函数详解
  • 计算机专业大学规划之双非
  • 2.策略模式
  • 算法通过村第七关-树(递归/二叉树遍历)黄金笔记|迭代遍历
  • MySQL数据库简介+库表管理操作+数据库用户管理
  • PyTorch实战:卷积神经网络详解+Python实现卷积神经网络Cifar10彩色图片分类
  • MapRdeuce工作原理
  • 完整指南:使用JavaScript从零开始构建中国象棋游戏
  • PG-DBA培训19:PostgreSQL高可用集群项目实战之Patroni
  • 数据库管理-第105期 安装Database Valut组件(20230919)
  • 企望制造ERP系统RCE漏洞 复现
  • 【unity小技巧】Unity 存储存档保存——PlayerPrefs、JsonUtility和MySQL数据库的使用
  • 2023-9-22 滑雪
  • 基于Yolov8的工业小目标缺陷检测(6):多检测头结合小缺陷到大缺陷一网打尽的轻量级目标检测器GiraffeDet,暴力提升工业小目标缺陷检测能力
  • exe文件运行后无输出直接闪退如何找解决办法
  • OpenHarmony应用开发—ArkUI组件集合
  • Linux(CentOS)安装msf
  • 工作几年还是悟不懂自动化测试的意义
  • Redis面试问题三什么是缓存雪崩怎么解决
  • 【Unittest】自动化测试框架核心要素
  • Hyperloglog
  • 如何自动获取短信验证码?
  • Linux 本地 Docker Registry本地镜像仓库远程连接【内网穿透】
  • 基于Yolov8的工业小目标缺陷检测(4):SPD-Conv,低分辨率图像和小物体涨点明显
  • 平均精度(AP)
  • 建议收藏《Verilog代码规范笔记_华为》(附下载)
  • Nginx环境搭建、负载均衡测试
  • 软件工程知识总结梳理