我从 C++ 和 Qt 开始。我有一个 QPushButtons 矩阵,我想为它们处理点击事件。问题是我无法告诉插槽坐标 os 数组中的按钮,以便我可以使用它们。我已经成功地将一个整数传递给我的插槽,但不是两个坐标。我不确定我是否让自己足够清楚......这是我有问题的代码:
for (int i = 0; i < mapSize_x; i++) {
for (int j = 0; j < mapSize_y; j++) {
buttonsArray[i][j] = new QPushButton();
ui->mainLayout->addWidget(buttonsArray[i][j], i, j);
connect(buttonsArray[i][j], SIGNAL(clicked()),
signalMapper, SLOT(map()));
signalMapper->setMapping(buttonsArray[i][j], i, j); // here
}
}
connect(signalMapper, SIGNAL(mapped(int, int)),
this, SLOT(buttonClick(int, int)));
setMapping 只接受两个参数,我想传三个。有解决方法吗?我用谷歌搜索了很多,但仍然找不到答案。我也尝试传递 QPushButton 对象而不是坐标,但也没有成功。提前致谢。