0 && $edn < $lmax ) ? $edn: $lmax; $fmt = '%0'.strlen($edn).'d: '; for (; $stn<=$edn; $stn++ ) { $tstr = htmlspecialchars(mb_convert_encoding($lines[$stn-1],SOURCE_ENCODING,"auto")); $res .= ( $args[2] ? sprintf($fmt,$stn):'').refpre_replace_tab($tstr); } return '
'.$res.'
'; } ?> N900:Python:Qt:EventSenderサンプル - HiiHahWIKI - making some notes for... -
トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS

N900:Python:Qt:EventSenderサンプル

Last-modified: 2013-08-24 (土) 02:14:21 (3898d)
Top / N900:Python:Qt:EventSenderサンプル

N900:Python:Qt:EventSender?サンプル

Event Senderのサンプルです。

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

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

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

fileEventSenderSample.py

#refpre(EventSenderSample?.py,,1)


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


32:           self.connect(button, QtCore.SIGNAL('clicked()'), self.buttonClicked)

して、buttonClickedメソッドの中で、self.sender()でイベント送信元のオブジェクトを取得します。(本当??)
取得したオブジェクトは、この場合はbuttonオブジェクトであり、text()メソッドでテキストの内容を取り出し、ラベルにセットします。

42:  def buttonClicked(self):
43:    sender = self.sender()
44:    print sender
45:    self.label2.setText(sender.text() + ' was clicked')



画面はこんな感じです。

Screenshot-20110517-130803.png

「apple」ボタンをクリックすると、、、



Screenshot-20110517-130811.png

「lemon」ボタンをクリックすると、、、



Screenshot-20110517-130822.png