У меня проблема с моим приложением Qt. Я пытаюсь испустить сигнал из другого класса (это вложенный класс того, в котором размещен сигнал).
Я уже подключил сигнал слотом, который должен быть точным. Но когда я пытаюсь испустить этот сигнал из этого вложенного класса, я получаю ошибку компилятора:
не может вызвать функцию-член без объекта
Что не так? Я искал это в документации Qt, но не мог найти разумного решения или даже объяснения.
Упрощенное определение класса выглядит следующим образом.
class LogWriter : public QDialog
{
Q_OBJECT
public:
class Log : public QObject
{
Q_OBJECT
public:
bool print;
Log(bool _print, QString _color, QObject *obj = NULL)
: QObject(obj)
{
print = _print;
color = _color;
}
};
LogWriter(QWidget * parent = 0);
~LogWriter();
public slots:
void setMinVal();
void setMediumVal();
void setHighVal();
void cleanWindow();
void appendText(QString &text);
signals:
void signalLogAppend(QString);
};
Я подключаю сигнал экземпляра LOW
для LogWriter в клиентском коде к некоторому слоту, используя следующий вызов функции:
connect(&LOW, SIGNAL(signalLogAppend(QString)),
this, SLOT(appendText(QString&)),
Qt::DirectConnection);