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()
    {
    
    }
  • 相关阅读:
    Linux嵌入式 -- 内核
    Linux嵌入式 -- 内核
    utf8和utf8mb4区别
    二叉树的实现
    python资源大全2
    树与树算法
    二叉树
    70.最小生成树
    68.营救问题(广搜)
    67.迷宫问题(广搜)
  • 原文地址:https://www.cnblogs.com/xixixing/p/10902321.html
Copyright © 2011-2022 走看看