Пытаюсь использовать QSignalMapper для передачи параметра в слот.
Имеется:
class Arfa_Main_Form : public QMainWindow
{
...
private:
QPushButton *push1;
QSignalMapper *mapper_Mode;
QFrame *mainFrameWidget;
void chooseWorkMode();
...
signals:
void clicked(const QString &text);
...
private slots:
void setMode(const QString &text);
...
}
void Arfa_Main_Form::chooseWorkMode()
{
mainFrameWidget = new QFrame;
...
const QString mode = "1";
mapper_Mode = new QSignalMapper(this);
connect(push1, SIGNAL(clicked()), mapper_Mode, SLOT(map()));
mapper_Mode->setMapping(push1, QString(mode));
QObject::connect(mapper_Mode, SIGNAL(mapped(const QString &)), this, SIGNAL(clicked(const QString &)));
QObject::connect(push1, SIGNAL(clicked(const QString&)), this, SLOT(setMode(const QString&)));
}
void chooseWorkMode() запускается из конструктора основного класса
Над основной формой появляется окошечко, на котором есть кнопка push1
При нажатии на кнопку необходимо, чтобы праметр mode из chooseWorkMode передавался в слот setMode() основного класса.
Подскажите, где я ошибаюсь.
Спасибо.