сигнал-слот в Qt: emit находится в методе слота - PullRequest
0 голосов
/ 29 ноября 2011

Я читаю книгу о Qt, в одном из примеров функции сигнального слота, есть метод emit, расположенный внутри метода слота ... Так что это становится бесконечным циклом ... я недействительно понимаю, как это остановить:

connect(webView, SIGNAL(urlChanged(const QUrl&)), 
    this, SLOT(urlChange(const QUrl&));

и тогда у нас есть функция:

void BrowserWindow::urlChange(const QUrl &url)
{
    emit urlChanged(url);
    progressLabel->setText(tr("Loading"));
}

Спасибо

1 Ответ

4 голосов
/ 29 ноября 2011

Что такое webView? (это тот же тип?)

Соединение соединяет один экземпляр с этим слотом - возможно, оно не подключает свой собственный экземпляр.

Если бы это было

connect(this, SIGNAL(urlChanged(const QUrl&)), 
        this, SLOT(urlChange(const QUrl&));

тогда это будет бесконечный цикл

...