#include <QtGui>
#include <QDebug>
// #include "main.moc"
{
Q_OBJECT
public:
count = 0;
setCentralWidget(central);
}
public slots:
void receive() {
central
->setText
(QString::number(count
++));
}
private:
int count;
};
Q_OBJECT
public:
m_winA = new Window();
m_winA->setWindowTitle("Window A");
connect(this, SIGNAL(signalA()), m_winA, SLOT(receive()));
m_winB = new Window();
m_winB->setWindowTitle("Window B");
connect(this, SIGNAL(signalB()), m_winB, SLOT(receive()));
m_winA->show();
m_winB->show();
// some fake incoming events
m_count = 0;
connect(&m_timer, SIGNAL(timeout()), this, SLOT(incoming()));
m_timer.start(100);
}
~Controller() {
delete m_winA;
delete m_winB;
}
public slots:
void incoming() {
if (m_count++ % 3 == 0)
emit signalA();
else
emit signalB();
}
signals:
void signalA();
void signalB();
private:
Window *m_winA;
Window *m_winB;
int m_count;
};
int main(int argc, char *argv[])
{
Controller c;
return app.exec();
}
//
#include <QtGui>
#include <QDebug>
// #include "main.moc"
class Window: public QMainWindow
{
Q_OBJECT
public:
Window(QWidget *p = 0): QMainWindow(p) {
count = 0;
central = new QLabel(this);
setCentralWidget(central);
}
public slots:
void receive() {
central->setText(QString::number(count++));
}
private:
QLabel *central;
int count;
};
class Controller: public QObject {
Q_OBJECT
public:
Controller(QObject *parent = 0): QObject(parent) {
m_winA = new Window();
m_winA->setWindowTitle("Window A");
connect(this, SIGNAL(signalA()), m_winA, SLOT(receive()));
m_winB = new Window();
m_winB->setWindowTitle("Window B");
connect(this, SIGNAL(signalB()), m_winB, SLOT(receive()));
m_winA->show();
m_winB->show();
// some fake incoming events
m_count = 0;
connect(&m_timer, SIGNAL(timeout()), this, SLOT(incoming()));
m_timer.start(100);
}
~Controller() {
delete m_winA;
delete m_winB;
}
public slots:
void incoming() {
if (m_count++ % 3 == 0)
emit signalA();
else
emit signalB();
}
signals:
void signalA();
void signalB();
private:
Window *m_winA;
Window *m_winB;
int m_count;
QTimer m_timer;
};
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
Controller c;
return app.exec();
}
//
To copy to clipboard, switch view to plain text mode
Bookmarks