Przekazywanie wartości do SLOT.

0

Coś nie mogę się połapać z tym przekazywaniem wartości, tym bardziej, że większość przykładów jakie znalazłem w sieci są napisane w starym zapisie.
Chciałbym przekazać wartość z SIGNAL void finished(QString str) do SLOT doFinished(QString str):

 void MainWindow::on_pushButton_clicked()
{
    connect(this, &MainWindow::finished, this, &doFinished);

    emit finished("aaaa bbbb cccc");
}

void MainWindow::doFinished(QString str)
{
    ui->textBrowser->setText(str);
}

No i oczywiście to nie działa(kompilator wyrzuca błąd: C2276: '&': illegal operation on bound member function expression), jak powinno się to poprawnie zapisać?

2
connect(this, &MainWindow::finished, this, &MainWindow::doFinished);
0

ech, głupia literówka, że też tego wcześniej nie zauważyłem ;/
A można przekazać jakąś inną wartość niż tą przekazywaną przez SIGNAL?

    connect(this, &MainWindow::finished, this, &MainWindow::doFinished("aaa bbb ccc") );
 
    emit finished();
2

Nie, ale możesz podać lambdę lub inną funkcję która dokona translacji i wywoła doFinished z odpowiednią wartością.

1 użytkowników online, w tym zalogowanych: 0, gości: 1