qt插槽currying

Eug*_*Loy 6 c++ qt currying signals-slots

有没有办法咖喱qt插槽?也许有类似curryng的东西?

Vas*_*aka 1

您可以使用 QSignalMapper 将一些信号绑定到它,然后将它自己的信号连接到附加一些参数的目标插槽。

// connect signal to mapper
signalMapper = new QSignalMapper(this);
signalMapper->setMapping(button1, QString("param1"));
signalMapper->setMapping(button2, QString("param2"));
connect(button1, SIGNAL(clicked()), signalMapper, SLOT(map()));
connect(button2, SIGNAL(clicked()), signalMapper, SLOT(map()));

// connect mapper signal to slot
connect(signalMapper, SIGNAL(mapped(const QString &)), this, SLOT(originalSlot(const QString &)));
Run Code Online (Sandbox Code Playgroud)