Rit*_*ter 1 c++ qt qt-signals qpushbutton
我想发送两个整数,string 和 fret,到一个 SLOT,它将处理被按下的按钮的位置。SIGNAL 和 SLOT 参数必须匹配,所以我想我需要重新实现 QPushButton::clicked 事件方法。问题是我是 Qt 的新手,可以使用一些指导。
connect(&fretBoardButton[string][fret], SIGNAL(clicked()), this, SLOT (testSlot()));
Run Code Online (Sandbox Code Playgroud)
如果您使用C++11 连接语法,您可以使用testSlot带有string和fret参数调用的 lambda :
connect(&fretBoard[string][fret], &QPushButton::clicked, [this, string, fret]() {
testSlot(string, fret);
});
Run Code Online (Sandbox Code Playgroud)
此代码使用[captures, ...](arguments, ...) { code }语法创建一个 lambda 。当您建立连接时,它会捕获string和fret变量值,然后在testSlot单击按钮时将它们传递给。