2012-03-12 16 views
1

qtablewidgetを使用してテーブルを作成しました。表にはいくつかのボタンがあります。これらのボタンのクリックイベントを関数で接続しました。問題は、私は、クリックイベントを送信しているボタンの行と列を知ってほしいです。 I.ユーザーがボタンをクリックしているときに、テーブル内の位置を知りたい。それ、どうやったら出来るの?qtablewidgetからセル内でクリックされたボタンを検出する方法

答えて

2

あなたはボタンの間に自分自身を区別するためにいくつかの方法がある場合は、信号(HTTP送信されたオブジェクトへのポインタを取得するための信号を受信して​​いるスロット内から

QObject* senderButton = Sender(); 

呼び出すことができます/を/doc.trolltech.com/4.7/qobject.html#sender)。私は、セルではなく、セル自体の内部のQPushButtonをクリックしていますhttp://doc.trolltech.com/4.7/signalsandslots.html#advanced-signals-and-slots-usage

+0

SignalMapperが機能しました。ありがとう。 – rwik

0

おそらくcellClicked信号をQTableWidgetから接続してセルの行と列を取得する必要があります。あなたは、ボタンのシグナルを出すか、そのシグナルのハンドラをまっすぐに呼び出す必要があるかどうかを知るために、シグナルをどの順序で発行するかをテストする必要があります。

+1

そうでなければ、ここでの例があり

QSignalMapper 

を見てみたいことがあります。だからセルクリックはうまくいかないかもしれません。 – rwik

+0

試しましたか? – Karlson

関連する問題