C++跨平台库QT学习4 可视化建立信号与槽

C++跨平台库QT学习4 可视化建立信号与槽

  • 一、信号与槽说明
    • 信号 slot
    • 槽 slot
    • 关联
  • 二、可视化生成槽函数原型
  • 三、添加一点逻辑代码
  • 四、运行看看效果

一、信号与槽说明

信号 slot

当控件被点下、按下、松开等事件发生的时候,会发送一个信号。
我觉得可以理解成事件。

槽 slot

就是一个函数,用来处理slot的事件。

关联

信号和槽要进行关联,使用QObject::connect(sender, SIGNAL(signal()),receiver,SLOT(slot()));

connectQObject的一个静态函数,其中QObject可以忽略。

要注意的是:

  • 一个信号可以连接多个槽
  • 多个信号可以连接同一个槽
  • 一个信号可以连接另一个信号

二、可视化生成槽函数原型

  1. 创建一个windows:
    C++跨平台库QT学习4 可视化建立信号与槽_第1张图片

  2. 右键点按钮控件,选择转到槽
    C++跨平台库QT学习4 可视化建立信号与槽_第2张图片

  3. 选择accept
    C++跨平台库QT学习4 可视化建立信号与槽_第3张图片

  4. 可以看到源代码中生成了相关的槽函数
    C++跨平台库QT学习4 可视化建立信号与槽_第4张图片

  5. 添加其它一些文本框
    C++跨平台库QT学习4 可视化建立信号与槽_第5张图片
    这里给两个文档框分别命名 : txtName txtPassword
    C++跨平台库QT学习4 可视化建立信号与槽_第6张图片

三、添加一点逻辑代码

#include "dialoglogin.h"
#include "ui_dialoglogin.h"
#include 

DialogLogin::DialogLogin(QWidget *parent) :
    QDialog(parent),
    ui(new Ui::DialogLogin)
{
    ui->setupUi(this);
    setFixedSize(this->width(),this->height());
    setWindowTitle("");
}

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


void DialogLogin::on_pushButton_clicked()
{
    if(2>1){
        QString name = this->ui->txtName->text();
        QString pass = this->ui->txtPassword->text();
        if(name=="user" && pass =="123456"){
            qDebug() << "Success" << endl;
        }else{
            qDebug() << "Failure" << endl;
        }
    }
}

四、运行看看效果

C++跨平台库QT学习4 可视化建立信号与槽_第7张图片

输入账号 user 密码123456 可以看到控制台打印 Success

你可能感兴趣的:(QT)