*N900:Python:Qt:EventSenderサンプル [#gdc7445e]
Event Senderのサンプルです。
Gridレイアウトのサンプルを改造して作ります。
ボタンを押すと、画面上部のラベルの文字列が変わる、ってやつです。
サンプルのソースは以下の通り。
■&ref(EventSenderSample.py);
#refpre(EventSenderSample.py,,1)
&br;
31行目でシグナル「clicked()」とメソッド「self.buttonClicked」を接続してます。
&br;
31: self.connect(button, QtCore.SIGNAL('clicked()'), self.buttonClicked)
して、buttonClickedメソッドの中で、self.sender()でイベント送信元のオブジェクトを取得します。(本当??)&br;
取得したオブジェクトは、この場合はbuttonオブジェクトであり、text()メソッドでテキストの内容を取り出し、ラベルにセットします。
42: def buttonClicked(self):
43: sender = self.sender()
44: print sender
45: self.label2.setText(sender.text() + ' was clicked')
画面はこんな感じです。
&br;
&ref(Screenshot-20110517-130803.png);
&br;&br;
「apple」ボタンをクリックすると、、、
&br;&br;
&ref(Screenshot-20110517-130811.png);
&br;&br;
「lemon」ボタンをクリックすると、、、
&br;&br;
&ref(Screenshot-20110517-130822.png);