Вы можете создать слот и в этом слоте вызывать запрошенную вами функцию следующим образом.
...
connect(buttonBox, SIGNAL(accepted()), this, SLOT(accept()));
connect(buttonBox, SIGNAL(rejected()), this, SLOT(reject()));
...
//slot implementation
void CLASS::accept()
{
foo(QString1, QString2);
}
Что-то похожее на это.В вашем конкретном случае это будет выглядеть следующим образом:
...
connect(buttonBox, SIGNAL(accepted()), this, SLOT(accept()));
connect(buttonBox, SIGNAL(rejected()), this, SLOT(reject()));
...
//slot implementation
void App::accept()
{
replace(QString1, QString2);
}
Причина в том, что слот может принимать меньше или равные аргументы, которые предоставляет сигнал.В этом случае сигнал accepted
не предоставляет никаких аргументов, поэтому вы не можете получить никаких аргументов.Для этого вы должны вручную собрать и передать их в свой слот.