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

这篇具有很好参考价值的文章主要介绍了8.31 加载资源文件 信号与槽机制。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

 登录窗口

#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;
}

8.31 加载资源文件 信号与槽机制,c++文章来源地址https://www.toymoban.com/news/detail-686789.html

到了这里,关于8.31 加载资源文件 信号与槽机制的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Qt——Qt工作原理:事件驱动、信号与槽机制

    Qt作为一个现代的GUI(图形用户界面)框架,采用了事件驱动的编程范式,并引入了信号与槽机制,以实现高度交互和松耦合的程序设计。下面详细解释了相关概念,以及如何在Qt中使用它们。 事件是在GUI应用程序中的控件上产生的各种动作、操作或状态变化,例如鼠标移动

    2024年02月10日
    浏览(31)
  • 回调函数的使用:案例一:c语言简单信号与槽机制。

    了解回调函数的基本概念,函数指针的使用、简单信号与槽的实现机制; 回调函数就是一个通过函数指针调用的函数。如果你把 函数的指针 (地址)作为参数 传递 给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。 A “callback” is any functi

    2024年02月15日
    浏览(37)
  • Qt子窗口给父窗口传值(信号与槽机制)

    1、父窗口和子窗口名称介绍 父窗口:Test_7 子窗口:testnew 2、父窗口与子窗口内容介绍 子窗口:声明信号、发送信号 父窗口:声明槽函数,定义槽函数,connect连接 3、在父窗口中(Test_7.cpp),完整代码如下: 4、父窗口中(Test_7.h),完整代码如下:  5、子窗口(testnew.cp

    2024年02月11日
    浏览(31)
  • 8.31作业

    1、什么是多态、虚函数、纯虚函数 多态是一种行为的多种实现方式,通过虚函数和虚指针来实现。是子类对父类虚函数重写然后父类通过虚指针调用重写后的实现。虚指针在类的最前面会指向一个虚函数表。里面记录了虚函数包括子类重写的。虚函数就是在函数前面加上v

    2024年02月10日
    浏览(22)
  • 【python】软件开发——PyQt5、Qt Designer、信号与槽机制、计算器实现

    PyQt5 是一个基于 Python 的 GUI 框架,用于创建跨平台的桌面应用程序。它是 Qt 库的 Python 绑定,结合了 Python 的简洁和易用性以及 Qt 框架的强大功能。 Qt 是一个流行的 C++ 跨平台应用程序开发框架,提供了丰富的图形界面组件、网络通信、数据库访问、多线程等功能。PyQt5 允许

    2024年02月04日
    浏览(30)
  • QT 信号与槽

     .h文件 .cpp文件 现象

    2024年02月02日
    浏览(30)
  • qt中的信号与槽

    connect有好几种形式 连接方式有 连接类型 说明 Qt::AutoConnection 如果发送者和接收者在同一线程,使用Qt::DirectConnection,否则使用Qt::QueuedConnection Qt::DirectConnection 信号被发射时立即执行,信号和槽函数在同一线程 Qt::QueuedConnection 在事件循环回到接收者线程后执行槽函数,信号和槽

    2024年02月07日
    浏览(29)
  • QT基础【5-信号与槽】

    🌈个人主页:godspeed_lucip 🔥 系列专栏:QT从基础到进阶 推荐使用这种写法,信号名字、槽函数名字写错了,编译器会直接报错 参数解释: 第一个参数:信号的发出者 第二个参数:发出的信号 第三个参数:信号的接受者 第四个参数:处理的槽函数 效果: 信号槽机制不只在

    2024年02月21日
    浏览(28)
  • 2、QT的信号与槽

    connect(信号的发送者,SIGNAL(信号名称),信号的接收者,SLOT(槽函数)); QT 4 的写法 QT 5的写法 控件生成信号定义: ①、在需要接收信号的类中 声明槽函数 ②、在xxx.cpp 中实现槽函数 ③、进行信号与槽的关联 用户自定义信号: ①、在信号的发送者类中声明信号 ②、关联信号与槽

    2024年02月10日
    浏览(33)
  • QT的核心——信号与槽

    目录 回顾C 语言信号 1、信号与槽 2、关联信号与槽 2.1自动关联信号与槽 2.2手动关联信号与槽 2.3断开信号与槽 3、自定义信号 3.1自定义信号使用条件 3.2自定义槽函数使用条件 4、信号与槽参数传递 4.1自定义一个带参的信号 4.2关联带参的信号与槽 4.3发送一个带参的信号 5、信

    2024年02月12日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包