QtDesignerで作ったuiファイルを読み込めたので、配置したUIを実際に機能させてみる。
(前の記事:【Python】QtDesignerで作成したUIを表示するだけのコード)
QtDesignerで配置したテキストボックス(QPlainTextEdit)に文字を入力
コード
UIファイルは前の記事で作ったものを使ってます
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | import sys import os from PySide import QtGui from PySide import QtUiTools class UILayoutTest(): def __init__( self ): aUILoader = QtUiTools.QUiLoader() # レイアウト用UIファイルを読み込むのに必要なクラスのインスタンス self .mUI = aUILoader.load(os.path.dirname(__file__) + "/UILayout.ui" ) # レイアウト用UIファイルを読み込む self .mUI.show() # 画面に表示する self .mUI.plainTextEdit.setPlainText( "にゃっほい屋へようこそ!" ) app = QtGui.QApplication(sys.argv) gUILayoutTest = UILayoutTest() app.exec_() |
メモ
UIファイルを読み込んだこの行の返り値がUIにアクセスするためのハンドル
QtDesignerで作ったテキストボックス(QPlainTextEdit)UIに「にゃっほい屋」と書き込む
QtDesignerで作ったUI
plainTextEdit
QtDesignerでテキストボックスのUIにつけたObjectName
setPlainText(“にゃっほい屋へようこそ!”)
QPlainTextEditの関数。UIに引数のテキストを表示
実行結果
QtDesignerで配置したボタン(QPushButton)が押されたらテキストボックスに文字を表示する
UI
UIは前回のものにボタンを足しました
コード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | import sys import os from PySide import QtGui from PySide import QtUiTools class UILayoutTest(): def __init__( self ): aUILoader = QtUiTools.QUiLoader() # レイアウト用UIファイルを読み込むのに必要なクラスのインスタンス self .mUI = aUILoader.load(os.path.dirname(__file__) + "/UILayout.ui" ) # レイアウト用UIファイルを読み込む self .mUI.show() # 画面に表示する self .mUI.setButton.clicked.connect( self .onSetButtonClicked) # Setボタンが押された際に呼び出されるメソッドを設定 def onSetButtonClicked( self ): self .mUI.plainTextEdit.setPlainText( "にゃっほい屋" ) # テキストボックスに「にゃっほい屋」と表示する app = QtGui.QApplication(sys.argv) gUILayoutTest = UILayoutTest() app.exec_() |
メモ
引数をボタンが押されたときに実行するメソッドに設定する
実行結果
setボタンが押されると、テキストボックスに「にゃっほい屋」と表示されます