8.31 加载资源文件 信号与槽机制

news2024/11/18 16:41:56

 登录窗口

#include "widget.h"
#include "ui_widget.h"



Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
    this -> setFixedSize(540, 410); //固定窗口大小
    this -> setWindowTitle("啊啊啊");  //设置窗口标题
    this -> setWindowIcon(QIcon(":/icon/1.png"));    //设置窗口图标

    lab1 = new QLabel(this);    //构造一个标签
    lab1 -> setPixmap(QPixmap(":/icon/logo.png"));    //标签中添加图片
    lab1 -> setScaledContents(true);    //设置图片自适应
    lab1 -> move(0, 0); //标签位置
    lab1 -> resize(540,150);    //标签大小

    lab2 = new QLabel(this);    //构建账户标签
    lab2 -> setPixmap(QPixmap(":/icon/userName.jpg"));    //标签中添加图片
    lab2 -> setScaledContents(true);    //设置图片自适应
    lab2 -> move(80, 200); //标签位置
    lab2 -> resize(50,50);    //标签大小

    lab3 = new QLabel(this);    //构建密码标签
    lab3 -> setPixmap(QPixmap(":/icon/passwd.jpg"));    //标签中添加图片
    lab3 -> setScaledContents(true);    //设置图片自适应
    lab3 -> move(80, 280); //标签位置
    lab3 -> resize(50,50);    //标签大小

    lab4 = new QLabel(this);
    lab4 -> move(80, 350); //标签位置
    lab4 -> resize(100,20);    //标签大小

    edit1 = new QLineEdit(this);
    edit1 -> setPlaceholderText("QQ号码/手机号/邮箱");
    edit1 -> move(180, 200);
    edit1 -> resize(300,50);

    edit2 = new QLineEdit(this);
    edit2 -> setPlaceholderText("密码");
    edit2 -> setEchoMode(QLineEdit::Password);
    edit2 -> move(180, 280);
    edit2 -> resize(300,50);

    btn1 = new QPushButton(QIcon(":/icon/login.png"),"登录",this);
    btn1 -> move(260, 350);
    btn1 -> resize(100, 40);

    btn2 = new QPushButton(QIcon(":/icon/cancel.png"),"取消",this);
    btn2 -> move(380, 350);
    btn2 -> resize(100, 40);

    /******************************************************************/
    connect(btn1, &QPushButton::clicked, this, &Widget::Loging);
    connect(btn2, SIGNAL(clicked()), this, SLOT(close()));
}

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

void Widget::Loging()
{
    if("admin" == edit1->text() && "123456" == edit2->text()){
        qDebug() << "登录成功";
        lab4 -> setText("登陆成功");
        emit jump();
        this -> close();
    }
    else if("admin" == edit1->text()){
        qDebug() << "密码错误登录失败";
        lab4 -> setText("密码错误登录失败");
        emit jump_err();
        edit2 -> clear();
    }
    else{
        qDebug() << "账号错误";
        lab4 -> setText("账号错误");
        emit jump_err();
        edit2 -> clear();
    }
}

主函数 

#include "widget.h"
#include"form.h"    //第二个界面的头文件
#include"error.h"

#include <QApplication>

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

    Form f;

    error e;

    QObject::connect(&w, &Widget::jump_err, &e, &error::jump_slot);

    QObject::connect(&w, &Widget::jump, &f, &Form::jump_slot);  //将第一个界面的信号函数与第二个界面的槽函数连接

    return a.exec();
}

登录成功后的窗口 

#include "form.h"
#include "ui_form.h"


Form::Form(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Form)
{
    ui->setupUi(this);
}

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

void Form::jump_slot()
{
    this->show();
}

登录失败后的窗口

#include "error.h"
#include "ui_error.h"

void error::jump_slot()
{
    ui -> lab1 ->setText("登录错误");
    connect(ui->btn1, &QPushButton::clicked, this, &error::close);
    this -> show();
}

error::error(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::error)
{
    ui->setupUi(this);
}

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/956218.html

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

相关文章

比较opencv,pillow,matplotlib,skimage读取图像的速度比

上面这些库都被广泛用于图像处理和计算机视觉任务&#xff1b; 不同的图像读取库&#xff08;OpenCV&#xff0c;Pillow&#xff0c;matplotlib和skimage&#xff09;的读取速度&#xff0c;是怎么样的一个情况&#xff1f; 下面分别从读取速度&#xff0c;以及转换到RGB通道…

文心一言向全社会开放

大家好&#xff0c;我是洋子 今天和大家宣传一件令人激动的事情 8月31日&#xff0c;文心一言率先向全社会全面开放。广大用户可以在应用商店下载“文心一言APP”或登陆“文心一言官网(https://yiyan.baidu.com)体验。同时&#xff0c;企业用户可以直接登陆百度智能云千帆大模…

云渲染平台是如何收费的?

现在的云渲染平台实在太多了&#xff0c;那么多平台&#xff0c;他们都是如何收费的呢&#xff1f;这篇文章我们就一块来看看吧。 一、渲染100(http://www.xuanran100.com?ycode1a12) 渲染100位于成都&#xff0c;是国内知名的云渲染公司&#xff0c;15分钟2毛60分钟8毛非常适…

《Flink学习笔记》——第十二章 Flink CEP

12.1 基本概念 12.1.1 CEP是什么 1.什么是CEP&#xff1f; 答&#xff1a;所谓 CEP&#xff0c;其实就是“复杂事件处理&#xff08;Complex Event Processing&#xff09;”的缩写&#xff1b;而 Flink CEP&#xff0c;就是 Flink 实现的一个用于复杂事件处理的库&#xff08…

Java之API详解之BigDecimal类的详细解析

7 BigDecimal类 7.1 引入 首先我们来分析一下如下程序的执行结果&#xff1a; public class BigDecimalDemo01 {public static void main(String[] args) {System.out.println(0.09 0.01);}} 这段代码比较简单&#xff0c;就是计算0.09和0.01之和&#xff0c;并且将其结果…

模拟电子技术基础学习笔记三 PN结

采用不周的掺杂工艺&#xff0c;将P型半导体与N型半导体制作在同一块硅片上&#xff0c;在它们的交界面就形成PN结。 扩散运动 物质总是从浓度高的地方向浓度低的地方运动&#xff0c;这种由于浓度差而产生的运动称为扩散运动。 空间电荷区 - 耗尽层 漂移运动 在电场力的作…

【马蹄集】第二十四周——高精度计算专题

高精度计算专题 目录 MT2191 整数大小比较MT2192 AB problemMT2193 A-B problemMT2194 大斐列MT2195 升级版斐波那契数列MT2196 2的N次幂 MT2191 整数大小比较 难度&#xff1a;黄金    时间限制&#xff1a;1秒    占用内存&#xff1a;128M 题目描述 给出两个正整数&…

邮件群发的功能优势

动态IP切换登录发送 保证送达率 软件可自动切换不同的动态拨号VPS的IP&#xff0c;登录不同的第三方免费邮件发送方&#xff0c;模拟真实环境&#xff0c;一个IP登录一个小号邮件账号发送&#xff0c;这样可以绕过因为一个IP同时登录同个第三方免费邮箱的不同账户而造成的屏蔽&…

HUAWEI华为笔记本MateBook 16 2021款 锐龙版 R7 集显(CREM-WFD9)原厂Win10系统

华为原装出厂系统自带指纹、显卡、声卡、网卡等所有驱动、出厂主题壁纸LOGO、Office办公软件、华为电脑管家等预装程序 链接&#xff1a;https://pan.baidu.com/s/18XIYnasYFfLxSKS6LfoHvw?pwdly6j 提取码&#xff1a;ly6j

WOFOST模型与PCSE模型应用丨数据准备,模型参数解读与设置,模型运行与结果输出,模型结果解读与决策支持等

目录 专题一 理论基础 专题二 数据准备 专题三 WOFOST模型基础 专题四 PythonCropSimulationEnvironment 专题五 案例拓展 更多应用 WOFOST&#xff08;WorldFoodStudies&#xff09;和PCSE&#xff08;PythonCropSimulationEnvironment&#xff09;是两个用于农业生产模…

安装使用electron

一、安装node和npm 运行cmd查看是否安装及版本号 npm -v node -v 二、安装electron npm直接安装会报错缺少什么文件&#xff0c;使用cnpm进行安装 直接安装cnmp后&#xff0c;再用cnmp命令安装可能会报错Error: Cannot find module ‘node:util’ 原因是npm版本与cnpm版本…

高中学历,月薪3000服务员,用四个月“改命”进国企,变身网络安全工程师

最近几年&#xff0c;不少年轻人都感到非常焦虑&#xff0c;压力大&#xff0c;迷茫。在时代变迁的洪流中&#xff0c;如何获得内心的平静呢&#xff1f; ——成长。 “只有认知突破&#xff0c;才能带来真正的成长。”这是雷军在8月14日年度演讲中提到的&#xff0c;近十年来…

OPENCV实现计算描述子

1、计算描述子 kp,des = sift.computer(img,kp) 2、其作用是进行特征匹配 3、同时计算关键点和描述 3.1、kp,des = sift.detectAnd Computer(img,...)

kali更换gnome并自定义登录界面

文章目录 安装gnome修改登录界面 Gnome是linux下比较好看的一款Linux图形化界面&#xff0c;发现网上的教程很多各式各样&#xff0c;有些还是错误的不能正确更换&#xff0c;或者不能修改登录界面 安装gnome 我们只需要执行sudo apt install gnome命令即可。 这个过程会花费很…

包含文心一言在内的首批国产大模型 全面开放

8月31起&#xff0c;国内 11 家通过《生成式人工智能服务管理暂行办法》备案的 AI 大模型产品将陆续上线&#xff0c;面向全社会开放。北京 5 家大模型产品分别是百度的 “文心一言”、抖音的 “云雀”、百川智能的 “百川大模型”、清华系 AI 公司智谱华章旗下的 “智谱清言”…

为什么过早的优化是万恶之源

为什么过早的优化是万恶之源? 缘起 Donald Knuth&#xff08;高德纳&#xff09; 是一位计算机科学界的著名学者和计算机程序设计的先驱之一。他被誉为 计算机科学的“圣经”《计算机程序设计艺术》的作者 &#xff0c;提出了著名的“大O符号”来描述算法的时间复杂度和空间…

ABB PCD231B通信输入/输出模块

多通道输入和输出&#xff1a; PCD231B 模块通常配备多个输入通道和输出通道&#xff0c;用于连接传感器、执行器和其他设备。 通信接口&#xff1a; 这种模块通常支持各种通信接口&#xff0c;如以太网、串口&#xff08;RS-232、RS-485&#xff09;、Profibus、CAN 等&#…

MIMIC-IV数据提取教程

一、获取MIMIC-IV数据库 MIMIC-IV数据库需要申请权限&#xff0c;具体怎么申请我之前的博客发的有:MIMIC数据库申请流程 以最新的MIMIC-IV 2.2版本为例&#xff0c;首先打开页面拖动到最底端&#xff1a;https://physionet.org/content/mimiciv/2.2/ 直接下载解压下来&#x…

vue3中如何使用el-tooltip中的插槽达到换行效果

el-tooltip的content属性中的内容可以使用插槽来替换 话不多说&#xff0c;直接上代码 <el-tooltip effect"light" placement"top-start"><div slot"content" class"tips"> // 在这里运用插槽<p class"tip-tex…

dayjs格式转换成日期

目录 方法一&#xff1a; ​编辑方法二&#xff1a; 这个项目在筛选订单时间的时候是由前端进行筛选的&#xff0c;用的是adt-design-pro进行二开的&#xff0c;其中在用日期组件的时候遇到了一个问题&#xff0c;组件返回的是&#xff1a; 但是我需要的是年-月-日&#xff…