Python 学習:PyQt4 で GUI アプリ(2)

2015-07-09 :  PCクリニック
本文の前に、
-・・・ -・-
現時点での blogramのランクインカテゴリは、
6、1、1、0、1、 0、0、0、0、0(41)で、換算ポイント 76pt 。
3日前午前「Perl」「化学業界」「グルコサミン」
「Python」「FM COCOLO」bg値若干アップ。
一昨日朝方「Firefox」5位にアップし、
昨日朝方4位にアップだが、今朝方5位にダウン。
その他は「グルコサミン」でbg値若干ダウン/アップ。
「C言語」では全く変化無かった。
・-・ - -・

さて、本文。

4ヶ月ほど前(2015-03-15)の記事:
Python 学習:GUI アプリ は PyQt4 に決め
では、
  ・・・・・
  ・・・・・
  必要なのは、
  窓にドラッグ&ドロップしたファイル名の取得と、
  「QtGui.QLabel」「QtGui.QLineEdit」「QtGui.QPushButton」の
  3つの Widget でしょうか。
  ・・・・・
  ・・・・・
と云うことで、
以下のようなテキスト・ファイルを入力として、
“PyQt4”のプロフラムを出力する。
コンバータを作った。

/Lbl Lbl1, 'File_Name:', ( 10, 10 )
/Lbl Lbl2, '?', ( 75, 10 )

/Ent Ent1, '', ( 10, 40 ), Ent1Changed
/Lbl Lbl3, '', ( 10, 70 )

/Btn Btn1, 'Go?', ( 40, 110 ), Btn1Clicked



その後、不足している「ウィジェット (Widget)」に対応する事にした。

即ち、
スライダー「QtGui.QSlider」:
PyQt4 tutorial」の「Widgets
ラジオボタン「QtGui.QRadioButton」と「QtGui.QButtonGroup」:
「Stack Overflow」の「uncheck radiobutton - PyQt4
リスト「QtGui.QListWidget」:
「Python Central」の「PySide/PyQt Tutorial: The QListWidget
テキストエディットオブジェクト「QtGui.QTextEdit」:
PyQtを用いたGUI


で、それぞれの定義法と生成ソース(<紙>流仕様)

スライダー「QtGui.QSlider」:
/Sld Sld1, H, ( 70, 80 ), Sld1Changed

self.Sld1=QtGui.QSlider( QtCore.Qt.Horizontal, self )
self.Sld1.move( 70, 80 )
self.Sld1.valueChanged[int].connect( self.Sld1Changed )


ラジオボタン「QtGui.QRadioButton」と「QtGui.QButtonGroup」:
/RBtnG RBtnGA, RBtnGAClicked
/RBtn Rbtn1, '1', ( 150, 50 )
/RBtn Rbtn2, '2', ( 200, 50 )

self.RBtnGA = QtGui.QButtonGroup()
self.connect( self.RBtnGA, QtCore.SIGNAL( 'buttonClicked(int)' ), self.RBtnGAClicked )
self.RBtn1 = QtGui.QRadioButton( '1', self )
self.RBtn1.move( 150, 50 )
self.RBtnGA.addButton( self.RBtn1 )
self.RBtn2 = QtGui.QRadioButton( '2', self )
self.RBtn2.move( 200, 50 )
self.RBtnGA.addButton( self.RBtn2 )


リスト「QtGui.QListWidget」:
/List list, ( 50, 250, 150, 100 ), on_item_changed

self.list = QtGui.QListWidget(self)
self.list.setGeometry( 50, 250, 150, 100 )
self.list.currentItemChanged.connect( self.on_item_changed )


テキストエディットオブジェクト「QtGui.QTextEdit」:
/Text editor, ( 50, 450, 300, 200 ), hoge

self.editor = QtGui.QTextEdit( self )
self.editor.setGeometry( 50, 450, 300, 200 )
self.editor.textChanged.connect( self.hoge )



捕捉:

スライダー「QtGui.QSlider」:
“self.Sld1Changed”の処理定義例:

 def Sld1Changed( value ):
   ラベル.setText( str(value) )


ラジオボタン「QtGui.QRadioButton」と「QtGui.QButtonGroup」:
最初にグループを指定し、メンバを続ける。
表示位置は、メンバに対して指定。
“self.RBtnGAClicked”の処理定義は、

 @QtCore.pyqtSignature( 'int' )
 def RBtnGAClicked( self, index ):
   self.f = str(0-index-1)

と、1行目が必要で、
「index」は '-2'、'-3'、・・・ となっている。


リスト「QtGui.QListWidget」:
定義時“表示文字列”は無し。
表示位置は、4値(左上座標と左右上下サイズ)で指定。
“self.on_item_changed”の処理定義例:

 def on_item_changed( curr, prev ):
   if curr != None:          # この判定が必要
     ラベル.setText( curr.text() )


テキストエディットオブジェクト「QtGui.QTextEdit」:
定義時“表示文字列”は無し。
表示位置は、4値(左上座標と左右上下サイズ)で指定。
“self.hoge”の処理定義例:

 def hoge( ):
   data = self.editor.toPlainText()  # この様な変換が必要
   print data


本日はここまで。


見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒ blogram投票ボタン


150524-29
関連記事
スポンサーサイト

コメントの投稿

管理者にだけ表示を許可する

おきてがみ/blogram
blogram投票ボタン



おきてがみ

最新記事
カレンダー
05 | 2017/06 | 07
- - - - 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 -
月別アーカイブ
カテゴリ
最新コメント
検索フォーム
リンク
プロフィール

<紙>

Author:<紙>
ようこそ。
「パソコンヲタクの雑記帳」
もろもろなことを綴っています。
パソコン ヲタクってねくら?
画像は kami でなく kani です。

カウンター(fc2、i2i) /Google Analytics


i2i(from 2010-08-24)
Total =
Today  =  
Yesterday=
アンチエイジング

Google Analytics
ブックマーク