Qt5 学习之路及嵌入式开发:自定义信号槽例子

  1. 建立工程

Qt5 学习之路及嵌入式开发(图形化)2:自定义信号槽例子

2、建立工程名称

Qt5 学习之路及嵌入式开发(图形化)2:自定义信号槽例子

3、下一步

Qt5 学习之路及嵌入式开发(图形化)2:自定义信号槽例子

Qt5 学习之路及嵌入式开发(图形化)2:自定义信号槽例子

4、完成

Qt5 学习之路及嵌入式开发(图形化)2:自定义信号槽例子

5、点击文件->新建文件或项目

Qt5 学习之路及嵌入式开发(图形化)2:自定义信号槽例子

Qt5 学习之路及嵌入式开发(图形化)2:自定义信号槽例子

6、完成

Qt5 学习之路及嵌入式开发(图形化)2:自定义信号槽例子

7、添加代码:②为添加部分

Qt5 学习之路及嵌入式开发(图形化)2:自定义信号槽例子

 

8、同样方法建立reader.h //②为添加部分

Qt5 学习之路及嵌入式开发(图形化)2:自定义信号槽例子

 

9、在main.cpp修改代码:①②为添加部分

 

Qt5 学习之路及嵌入式开发(图形化)2:自定义信号槽例子

10、运行,查看结果:①为运行部分

Qt5 学习之路及嵌入式开发(图形化)2:自定义信号槽例子

11、附:代码

#include <QObject>

 

////////// newspaper.h

class Newspaper : public QObject

{

    Q_OBJECT

public:

    Newspaper(const QString & name) :

        m_name(name)

    {

    }

 

    void send()

    {

        emit newPaper(m_name);

    }

 

signals:

    void newPaper(const QString &name);

 

private:

    QString m_name;

};

 

////////// reader.h

#include <QObject>

#include <QDebug>

 

class Reader : public QObject

{

    Q_OBJECT

public:

    Reader() {}

 

    void receiveNewspaper(const QString & name)

    {

        qDebug() << "Receives Newspaper: " << name;

    }

};

 

////////// main.cpp

#include <QCoreApplication>

 

#include "newspaper.h"

#include "reader.h"

 

int main(int argc, char *argv[])

{

    QCoreApplication app(argc, argv);

 

    Newspaper newspaper("Newspaper A");

    Reader reader;

    QObject::connect(&newspaper, &Newspaper::newPaper,

                     &reader,    &Reader::receiveNewspaper);

    newspaper.send();

 

    return app.exec();

}

 

 

相关文章:

  • 2021-05-18
  • 2021-11-05
  • 2021-05-06
  • 2021-12-04
  • 2022-12-23
  • 2022-12-23
  • 2021-11-25
  • 2022-12-23
猜你喜欢
  • 2021-09-11
  • 2021-06-25
  • 2021-08-09
  • 2022-12-23
  • 2022-12-23
  • 2021-08-06
  • 2021-06-25
相关资源
相似解决方案