(C++) QtSignalExample1

February 24, 2017 · View on GitHub

 

 

 

 

 

(C++) QtSignalExample1

 

Technical facts

 

Operating system(s) or programming environment(s)

IDE(s):

Project type:

C++ standard:

Compiler(s):

Libraries used:

  • STL STL: GNU ISO C++ Library, version 4.9.2

 

 

 

 

 

Qt project file: ./CppQtSignalExample1/CppQtSignalExample1.pro

 


include(../../DesktopApplication.pri) SOURCES += \     main.cpp \     emitter.cpp \     receiver.cpp HEADERS += \     emitter.h \     receiver.h

 

 

 

 

 

./CppQtSignalExample1/emitter.h

 


#ifndef EMITTER_H #define EMITTER_H #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Weffc++" #pragma GCC diagnostic ignored "-Wunused-local-typedefs" #pragma GCC diagnostic ignored "-Wunused-but-set-parameter" #include <QObject> #pragma GCC diagnostic pop class Emitter : public QObject {   Q_OBJECT public:   explicit Emitter(QObject *parent = 0);   void DoEmit() const noexcept; signals:   void signal_emit() const; }; #endif // EMITTER_H

 

 

 

 

 

./CppQtSignalExample1/emitter.cpp

 


#include "emitter.h" #include <iostream> Emitter::Emitter(QObject *parent)   : QObject(parent) { } void Emitter::DoEmit() const noexcept {   std::clog << "Emitter: emitting signal" << std::endl;   emit signal_emit(); }

 

 

 

 

 

./CppQtSignalExample1/main.cpp

 


#pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Weffc++" #pragma GCC diagnostic ignored "-Wunused-local-typedefs" #pragma GCC diagnostic ignored "-Wunused-but-set-parameter" #include "emitter.h" #include "receiver.h" #pragma GCC diagnostic pop int main() {   const Emitter e;   const Receiver r;   QObject::connect(&e,SIGNAL(signal_emit()),&r,SLOT(OnReceive()));   e.DoEmit(); } /* Screen output: Emitter: emitting signal Receiver: received signal */

 

 

 

 

 

./CppQtSignalExample1/receiver.h

 


#ifndef RECEIVER_H #define RECEIVER_H #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Weffc++" #pragma GCC diagnostic ignored "-Wunused-local-typedefs" #pragma GCC diagnostic ignored "-Wunused-but-set-parameter" #include <QObject> #pragma GCC diagnostic pop class Receiver : public QObject {   Q_OBJECT public:   explicit Receiver(QObject *parent = 0); public slots:   void OnReceive() const noexcept; }; #endif // RECEIVER_H

 

 

 

 

 

./CppQtSignalExample1/receiver.cpp

 


#include "receiver.h" #include <iostream> Receiver::Receiver(QObject *parent)   : QObject(parent) { } void Receiver::OnReceive() const noexcept {   std::clog << "Receiver: received signal" << std::endl; }