zoukankan      html  css  js  c++  java
  • 5、信号,带参数

    信号,带参数,可以传递参数给连接的槽函数。信号、槽函数类型要一致。

    新建项目,QWidget,不勾选ui

    /*mywidget.h代码*/
    #ifndef MYWIDGET_H
    #define MYWIDGET_H
    
    #include <QWidget>
    #include <QPushButton> //按钮
    #include <QDebug> //打印
    
    class MyWidget : public QWidget
    {
        Q_OBJECT
    
    public:
        MyWidget(QWidget *parent = 0);
        ~MyWidget();
        void sendSignal(); //自定义的函数,发送信号
        void MySlot(int a,QString str); //接收信号的槽函数
    signals:
        void MySignal(int a,QString str);//信号与槽相对,信号传参给槽函数
    
    private:
        QPushButton b; //按钮
    };
    
    #endif // MYWIDGET_H
    /*mywidget.cpp代码*/
    #include "mywidget.h"
    
    MyWidget::MyWidget(QWidget *parent)
        : QWidget(parent)
    {
        b.setText("打印参数");
        b.setParent(this); //按钮放在本窗体上
        connect(&b,&QPushButton::pressed,this,&MyWidget::sendSignal);
        connect(this,&MyWidget::MySignal,this,&MyWidget::MySlot);
    }
    void MyWidget::sendSignal()
    {
        emit MySignal(520,"这不是节日!");//发送信号,传参给槽函数
    }
    void MyWidget::MySlot(int a,QString str)
    {
        qDebug()<<a<<str.toUtf8().data();//注意字符串的输出方式,qDebug()类似cout
    }
    
    MyWidget::~MyWidget()
    {
    
    }
  • 相关阅读:
    计算机的几种命令行
    oracle体系结构
    数字档案馆建设指南及档案业务系统归档接口规范
    ERP系统归档
    oracle ITL(事务槽)的理解
    oracle表属性
    docker+httpd的安装
    访问GitLab的PostgreSQL数据库,查询、修改、替换等操作
    docker+rabbitmq的安装
    docker+elasticsearch的安装
  • 原文地址:https://www.cnblogs.com/xixixing/p/10902321.html
Copyright © 2011-2022 走看看