QtDesignerで作ったuiファイルを読み込めたので、配置したUIを実際に機能させてみる。
(前の記事:【Python】QtDesignerで作成したUIを表示するだけのコード)
QtDesignerで配置したテキストボックス(QPlainTextEdit)に文字を入力
コード
UIファイルは前の記事で作ったものを使ってます
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は前回のものにボタンを足しました
コード
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ボタンが押されると、テキストボックスに「にゃっほい屋」と表示されます


