PyQt5でメインウィンドウの表示
はじめに
今更ながらにPyQt5に移行したのでメモ
PyQt4から少し変わってるのでそのままだと動かない
インストール
pipからできようになった
1$ pip3 install pyqt5
2または
3$ python3 -m pip install pyqt5
とかでインストール出来る
~2016年9月8日現在の話~
QtDesignerが入らないっぽいので現状Qtの公式のインストーラーからツールだけ選択して落としたQtCreatorを使うしかなさ気?
Toolだけ選択しても2GB近くあるので心証が宜しくない
QtDesignerと同じ画面を呼ぶにはファイル→ファイル/プロジェクトの新規作成→ファイルとクラスからQt→Qt Designer フォームを選択でいつもの慣れ親しんだ画面が出てくる
waybackとかで見る限り5.6まではexeで配布されてたので入ってるっぽいですが5.7(7月末)から変わった?
どこかからQtDesignerだけ落とすかと思ったけど見当たらず
詳細分かる方教えて下さい
~終わり~
ウィンドウ作成
いつも通りQtDesignerを使って作成する(今回はPyQt4の時に使ってたQtDesignerで作業した)
作るのはMainWindowの方
uiファイル読み込む派の人はサンプル探せばあるのでそちらで
pyファイルに変換するにはpyuic5を使う
1$ where pyuic5
2インストールパス/Scripts/pyuic5
3$ pyuic5 hoge.ui > ui.py
スクリプトを書く
パッケージ名がPyQt4→PyQt5に変わったのと
QtGuiから呼んでたものがQtWidgetsから呼ぶようになった感じ
1# -*- coding: utf-8 -*-
2
3import sys
4from PyQt5 import QtWidgets
5from ui import Ui_MainWindow
6
7
8class Application(QtWidgets.QMainWindow):
9 def __init__(self, parent=None):
10 QtWidgets.QMainWindow.__init__(self, parent)
11 self.ui = Ui_MainWindow()
12 self.ui.setupUi(self)
13
14if __name__ == "__main__":
15 app = QtWidgets.QApplication(sys.argv)
16 myapp = Application()
17 myapp.show()
18 sys.exit(app.exec_())
とりあえずUIの表示はこんな感じで問題なく出来る
QtDesignerの件だけ微妙に困る
腑に落ちないけどQtCreator使うことにする