PyQt(PySide)で画像処理その2(GUI動作設定の基本)
PyQt(PySide)で画像処理(その1) - tataboxの備忘録
前回の続き。
画像と重なるため、若干レイアウトを変更しました。
というわけで、Qtで画像を開き、画像に合わせてフレームのサイズを変更するコードです。
前回作成したpyqt_Opencv.pyと同じフォルダに下記のファイルを入れます。
from PySideを PyQt4に書き換えることでPyQtでも動作します。
重要ポイントは下記の3つ
(1)前回生成したフォームの引き継ぎ
生成ファイルからUi_(+メインウィンドウ名)のクラスを
インポートすることで、フォームを引き継ぎます。
"""生成されたフォームのファイルからフォームをインポート""" from pyqt_Opencv import Ui_Qt_CV_MainWindow
(2)シグナル&スロット
シグナル&スロット(実行関数)には幾つかの表記法がありますが、今回は以下の書式です。 QtCore.QObject.connect(操作オブジェクト名,QtCore.SIGNAL("シグナル名"),実行する関数名)
"""シグナル&スロット:file_buttonをクリックすると、open_file関数を実行""" QtCore.QObject.connect(self.file_button, QtCore.SIGNAL("clicked()"), self.open_file)
(3)おまじない1、2
意味は以下の通りです。クラス名は任意。
1)インポートしたフォームを取り込んで初期化
2)クラスの実行
実行結果(例)
1)Fileボタンを押し、画像ファイルを選択
2)画像とアドレスが表示され、画像に合わせて全体がリサイズ
次はOpencvとの連携について書きます。