9.18 QT作业

news2024/12/23 12:26:17

mainwindow.h

QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE
 
class MainWindow : public QMainWindow
{
    Q_OBJECT
 
public:
    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_OBJECT
 
public:
    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.coloradmin.cn/o/1021260.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

小插曲 -- 使用Linux编写 判断程序是否在运行的小程序

编写思路 首先&#xff0c;在执行“ps -elf |grep xxx”时&#xff0c;如果xxx存在&#xff0c;通常会有两条结果&#xff0c;一个是xxx对应的PID&#xff0c;一个则是grep对应的PID&#xff0c;但是如果我希望执行命令后&#xff0c;xxx存在就只有xxx对应的PID&#xff0c;不…

Vue3函数式编程

文章目录 前言一、三种编程风格1.template2.jsx/tsx3.函数式编写风格 二、函数式编程1.使用场景2.参数3.例子3.render渲染函数 总结 前言 本文主要记录vue3中的函数式编程以及其他编程风格的简介 一、三种编程风格 1.template Vue 使用一种基于 HTML 的模板语法&#xff0c;…

QML元素定位器:Row、Colum、Grid、Flow、定位器嵌套以及Repeater用法

在QML中,定位器(Positioner)是一种特殊的组件,用于管理其子项的位置。定位器确保其子项始终根据给定的规则排列。Qt Quick提供了几种定位器,用于处理不同的布局需求。 以下是一些常用的QML定位器: Row:将其子项沿水平线排列。Column:将其子项沿垂直线排列。Grid:将其子…

6.3 字符数组

思维导图&#xff1a; 前言&#xff1a; 主要内容&#xff1a; 前言内容整理 字符型数据和存储 字符型数据是依据字符的ASCII代码存储在内存单元中&#xff0c;通常占用一个字节的空间。ASCII代码可以被认为是整数&#xff0c;因此在C99标准中&#xff0c;字符类型被归类为整…

若依DataScopeAspect数据权限解析和ew.customSqlSegment源码解析

目录 一、DataScopeAspect使用场景二、ew.customSqlSegment${ew.customSqlSegment}build:this.normal &#xff1a; queryWrapper where 条件不为空的时候&#xff0c;才有normalget第二次 进来add(), 已经拼接完 ew.customSqlSegment 了&#xff0c; 因为DataPermission 注解进…

开发一个训练LORA的WebUI

文章目录 效果原理说明代码 效果 原理 基于开源项目kohya-ss/sd-scripts增加了Gradio UI&#xff0c;精简了训练参数&#xff0c;更适合初级“炼丹宝宝”的炼丹炉&#xff01; 核心思想还是比较简单的&#xff0c;通过Gradio UI来收集设置的训练参数&#xff0c;并通过python的…

全国职业技能大赛云计算--高职组赛题卷⑤(私有云)

全国职业技能大赛云计算--高职组赛题卷⑤&#xff08;私有云&#xff09; 第一场次题目&#xff1a;OpenStack平台部署与运维任务1 基础运维任务&#xff08;5分&#xff09;任务2 OpenStack搭建任务&#xff08;15分&#xff09;任务3 OpenStack云平台运维&#xff08;15分&am…

渗透测试信息收集方法

一、域名收集 OneForAll输出表格方便筛选(status、title) layer5.0saintsec更新版子域名挖掘机 百度云链接: https://pan.baidu.com/s/1VQ2HLocs39B72ElysskPog 提取码&#xff1a;121l subdomainsBurte,python2子域名爆破 https://github.com/y1ng1996/lijiejie_subDomainsBru…

偶现来电时手机操作出现重启

问题描述&#xff1a;偶现来电时手机操作出现重启 问题分析&#xff1a;从系统Log看 09-06 10:22:44.791829 1400 1425 W Watchdog: *** WATCHDOG KILLING SYSTEM PROCESS: Blocked in handler on main thread (main) 09-06 10:22:44.794133 1400 1425 W Watchdog: main …

Python Web开发:构建动态Web应用

&#x1f482; 个人网站:【工具大全】【游戏大全】【神级源码资源网】&#x1f91f; 前端学习课程&#xff1a;&#x1f449;【28个案例趣学前端】【400个JS面试题】&#x1f485; 寻找学习交流、摸鱼划水的小伙伴&#xff0c;请点击【摸鱼学习交流群】 Python已经成为一门流行…

功能基础篇2——常用哈希和加密算法介绍及Python相关库与实现

加解密 https://docs.python.org/3/library/crypto.html 三方库推荐&#xff0c;https://cryptography.io/en/latest/ Criptography&#xff0c;https://pypi.org/project/cryptography/ PyCryptodome&#xff0c;a fork of PyCrypto&#xff0c;https://pypi.org/project/…

vue3+ts 实现移动端分页

current 开始页码 pageSize 结束页码 const sizeref<number>(10) //一页显示十条 const eachCurrentPageref<number>(1) //默认是第一页interface ITdata {current: number,pageSize: number,// xxxx 其他参数... } const selectApplyList ref<…

vue-h5:移动Web单击事件和延迟300ms的问题

在PC端的网页&#xff0c;大部分的交互是通过click事件来实现的&#xff0c;然而在移动端&#xff0c;则是通过touch事件来实现触摸交互。 单击或者点击事件&#xff0c;指的是鼠标按下并且在短时间内放开【一般是小于300ms】。 那么移动端&#xff0c;也是类似&#xff0c;在…

大模型微调方法

下面是一些参数高效的微调大模型方法&#xff1a; Adapter 模型总览 Adapter作为一个插件加入到大模型内&#xff0c;微调下游任务时&#xff0c;固定大模型参数&#xff0c;只训练Adapter参数。 LoRA LoRA名为大语言模型的低阶适应&#xff0c;最初设计用于微调LLM&#xf…

面向未来的服务网格发展:展望服务网格技术未来的发展方向和趋势

&#x1f337;&#x1f341; 博主猫头虎 带您 Go to New World.✨&#x1f341; &#x1f984; 博客首页——猫头虎的博客&#x1f390; &#x1f433;《面试题大全专栏》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33a; &a…

RocketMQ 发送顺序消息

文章目录 顺序消息应用场景消息组&#xff08;MessageGroup&#xff09;顺序性生产的顺序性MQ 存储的顺序性消费的顺序性 rocketmq-client-java 示例&#xff08;gRPC 协议&#xff09;1. 创建 FIFO 主题生产者代码消费者代码解决办法解决后执行结果 rocketmq-client 示例&…

Nginx配置负载均衡时访问地址无法生效

场景还原 今天有小伙伴练习Nginx配置负载均衡时总是无法使用配置好的网址访问 配置文件信详情 http {# 负载均衡 后端IP地址和端口 webservers 策略 轮询upstream webservers{server 192.168.1.100:8080 weight90; server 127.0.0.1:8080 weight10; }server{listen 80;ser…

基于Java+SpringBoot+Vue的旧物置换网站设计和实现

基于JavaSpringBootVue的旧物置换网站设计和实现 源码传送入口前言主要技术系统设计功能截图数据库设计代码论文目录订阅经典源码专栏Java项目精品实战案例《500套》 源码获取 源码传送入口 前言 摘 要 随着时代在一步一步在进步&#xff0c;旧物也成人们的烦恼&#xff0c;…

深度学习中安装了包但是依然导入(import)失败这一问题,例如pytorch环境下已经安装了scikit-learn但是import不了

在跑深度学习模型的时候我们要先搭建pytorch环境&#xff0c;这个环境跟windows环境是不同的&#xff0c;我们默认在windows中安装的包在当前的虚拟环境中读取不到&#xff0c;所以导致我们明明安装了包但是依然在实际的导入中(import)报错。解决办法就是我们去虚拟环境中安装包…

使用Scrapy构建高效的网络爬虫

&#x1f482; 个人网站:【工具大全】【游戏大全】【神级源码资源网】&#x1f91f; 前端学习课程&#xff1a;&#x1f449;【28个案例趣学前端】【400个JS面试题】&#x1f485; 寻找学习交流、摸鱼划水的小伙伴&#xff0c;请点击【摸鱼学习交流群】 Scrapy是一个强大的Pyth…