在我发表了这篇帖子之后:Associate signal and slot to a qcheckbox create dynamically,我需要将:
• 当我点击一个qCheckBox
时,将信号clicked()
与我的函数cliqueCheckBox(QTableWidget *monTab, int ligne, QCheckBox *pCheckBox)
关联起来。
为此,我必须使用QSignalMapper
。经过两个小时的努力,我仍然无法得出好的结果。以下是我编写的代码,显然是错误的:
QSignalMapper *m_sigmapper = new QSignalMapper(this);
QObject::connect(pCheckBox, SIGNAL(mapped(QTableWidget*,int, QCheckBox*)), pCheckBox, SIGNAL(clicked()));
QObject::connect(this, SIGNAL(clicked()), this, SLOT(cliqueCheckBox(QTableWidget *monTab, int ligne, QCheckBox *pCheckBox)));
m_sigmapper->setMapping(pCheckBox, (monTab,ligne, pCheckBox));
QObject::connect(m_sigmapper, SIGNAL(clicked()),this, SLOT(cliqueCheckBox(QTableWidget *monTab, int ligne, QCheckBox *pCheckBox)));
你能解释一下 QSignalMapper
是如何工作的吗?我不是很明白应该关联什么 :(
QSignalMapper
?有什么特别的原因吗?这可以通过直接连接轻松完成。 - RakibQSignalMapper
的工作原理,这里有一个很好的例子可以供您参考。 - Tay2510