トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS

N900:Python:Qt:EventSenderサンプル の変更点

Top / N900:Python:Qt:EventSenderサンプル

*N900:Python:Qt:EventSenderサンプル [#gdc7445e]

Event Senderのサンプルです。

Gridレイアウトのサンプルを改造して作ります。

ボタンを押すと、画面上部のラベルの文字列が変わる、ってやつです。

サンプルのソースは以下の通り。

■&ref(EventSenderSample.py);

#refpre(EventSenderSample.py,,1)

&br;

31行目でシグナル「clicked()」とメソッド「self.buttonClicked」を接続してます。
32行目でシグナル「clicked()」とメソッド「self.buttonClicked」を接続してます。

&br;

 31:           self.connect(button, QtCore.SIGNAL('clicked()'), self.buttonClicked)
 32:           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;&br;



画面はこんな感じです。
&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);