我從C++和Qt開始。我有一個QPushButtons矩陣,我想處理它們的點擊事件。問題是我不能告訴插槽陣列中的按鈕的座標,以便我可以與他們一起玩。我成功地將一個整數傳遞給我的插槽,但不是兩個座標。我不知道如果我讓自己很清楚......這是我的問題的代碼:如何將矩陣中按鈕的座標傳遞給點擊插槽?
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接受兩個參數,我想傳遞三個。有沒有解決方法?我GOOGLE了很多,仍然無法找到答案。我也嘗試傳遞QPushButton對象而不是座標,但也失敗了。提前致謝。
你只需要一個指向你的插槽中的QPushButton的指針? – Chris
一個指向QPushButton的指針或座標... –