我在C++上有一個Qt應用程序,我想給QPushButton分配一個插槽。但我想傳遞一些參數,因爲我有不止一個QPushButton做類似的事情,所以我想要一個函數,但有一個參數,但Qt一直說我沒有這樣的插槽。有人能告訴我爲什麼,我該怎麼做?Qt 5將參數分配給QPushButton插槽
預先感謝您
在.h文件中我有:(它是在開始私人,但我的問題的搜索改變了它)
public slots:
void handleButton(int row, int col);
然後在的.cpp:
void fieldWindow::handleButton(int row, int col){
cout << row << " " << col << endl;
}
在相同的.cpp
並再次:
connect(this->buttonsField[i][j], SIGNAL(released()), this, SLOT(handleButton(i,j)));
這是在兩個嵌套循環中完成的,因此i
和j
已被很好地定義。
而且我的錯誤是:
QObject::connect: No such slot fieldWindow::handleButton(i,j) in ..\Proj1\fieldwindow.cpp:41
QObject::connect: (receiver name: 'fieldWindow')
我看了網上的東西,我應該說handleButton(int, int);
但後來我應該如何傳遞參數?
'connect'語句不接受'SIGNAL(...)'表達式中的任何參數。 'SIGNAL'是一個將函數*簽名*封裝在要傳遞給'connect'的字符串中的宏。 – leemes
所以它應該是'handleButton(int,int)'?!但是,我怎樣才能通過這些論據呢?! – Bankin