プログラムで複数の(設計時に未定義の)ボタンを作成しています。ハンドラーでクリックされたボタンを特定するにはどうすればよいですか?
for (int i = 0; i < XXX; i++) {
Button *btn = Button::create();
QObject::connect(btn, SIGNAL(clicked()), this, SLOT(onButtonClicked()));
...
}
void MyClass::onButtonClicked() {
???? Which button ???
}
以前に使用したすべてのプラットフォーム (Borland.VCL、Cocoa、Cocoa Touch、WinRT/PRT、Android...) では、イベント ハンドラーには常に (!!!) オブジェクト インスタンスがイベントを呼び出したことを示す送信者パラメーターがあります。
では、BlackBerry Cascades でそれを行う方法は?
PS。Button の独自のサブクラスを作成し、SIGNAL onClicked(MyButton *sender) を追加し、それを伝播する必要があるとは言わないでください...これにより、BlackBerry の開発は初期段階で終了します。:)