Just for record, even if you don't need it in your case you can make the signal const. This works for me:
#include <QtGui>
{
Q_OBJECT
public:
void emitSignal() const
{
Q_EMIT sig("This is a test!");
}
Q_SIGNALS:
void sig(const QString&) const;
public Q_SLOTS:
void slot(const QString& str) const
{
qWarning() << Q_FUNC_INFO << str;
}
};
int main(int argc, char *argv[])
{
test t;
QObject::connect(&t,
SIGNAL(sig
(const QString
&)),
&t,
SLOT(slot(const QString
&)));
t.emitSignal();
return 0;
// return app.exec();
}
#include "main.moc"
#include <QtGui>
class test : public QObject
{
Q_OBJECT
public:
void emitSignal() const
{
Q_EMIT sig("This is a test!");
}
Q_SIGNALS:
void sig(const QString&) const;
public Q_SLOTS:
void slot(const QString& str) const
{
qWarning() << Q_FUNC_INFO << str;
}
};
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
test t;
QObject::connect(&t, SIGNAL(sig(const QString&)), &t, SLOT(slot(const QString&)));
t.emitSignal();
return 0;
// return app.exec();
}
#include "main.moc"
To copy to clipboard, switch view to plain text mode
Bookmarks