0

プログラムで複数の(設計時に未定義の)ボタンを作成しています。ハンドラーでクリックされたボタンを特定するにはどうすればよいですか?

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 の開発は初期段階で終了します。:)

4

1 に答える 1