Пытаюсь заставить сигналы работать в моем QT. Мне нужен совет и помощь

Итак, у меня есть основная функция:

string s = "\nWelcome to Rawr\n";
const QString output(s);
**emit output(output);       <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< Getting an error here**

Я установил сигнал в QT Desginer с именем: output (const QString & s)

Мой приемник для сигнала - это моя "Форма"... в моем form.h у меня есть: Слот называется "changeOutput (const QString & s).

void Client::changeOutput(const QString &s)
{
    output_box.setText(s);
}

output_box — это поле QTextEdit.

Ошибка, которую я получаю: TCPClient.cpp:122: ошибка: нет соответствия для вызова ‘(const QString) (const QString&)’

Что я делаю неправильно?

Спасибо :)


person NeverAgain    schedule 29.11.2009    source источник


Ответы (1)


Поскольку вы объявили переменную output, имя output относится к этой переменной в локальной области видимости. Компилятор не знает, что в output(output) вы хотите, чтобы один output ссылался на переменную, а другой output — на слот/метод.

Используйте другое имя для локальной переменной, чтобы избежать этой коллизии.

person sth    schedule 29.11.2009