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

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

  1. 建立工程

2、建立工程名称

3、下一步

4、完成

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

6、完成

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

 

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

 

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

 

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

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();

}

 

 

发布了15 篇原创文章 · 获赞 7 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/fjqlldg/article/details/104640335