Qt SLOT をオーバーロードして、 a から発行されたものまたは a から発行された SIGNAL に反応するようにしたいclicked()
SIGNAL
(QPushButton
チェックstateChanged(int)
ボックスQCheckBox
がオンになっている場合にのみ発行される SIGNAL がないため)。
これが私の 2 つの SLOT です。
void Widget::sendCom(QString data)
{
std::cout << "In scope of sendCom"<< std::endl;
}
void Widget::sendCom(QString data, int state)
{
std::cout << "In scope of overloaded sendCom: " << std::endl;
}
私は以下をwidget->createButton(SLOT(sendCom(QString), data);
呼び出し、マッピングは正常に機能します。
void Widget::createButton(const char *member, QString &data)
{
QPushButton *button = new QPushButton(this);
signalMapper = new QSignalMapper(this);
signalMapper->setMapping(button, data);
connect(signalMapper, SIGNAL(mapped(QString)), this, member);
connect(button, SIGNAL(clicked()), signalMapper, SLOT(map()));
...
}
void Widget::createCheckBox(const char *member, QString &data)
{
}
オーバーロードされたものにもwidget->createCheckBox(SLOT(QString, int), data)
ChechBox の状態を渡したいと思いWidget::sendCom(QString data, int state)
ます。マッピングはどのように行われますか?