/
helloworld.py
50 lines (40 loc) · 1.56 KB
/
helloworld.py
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
import sys
from PySide2.QtWidgets import QApplication
from PySide2.QtQuick import QQuickView
from PySide2.QtCore import QUrl
def main():
""" .qml ファイルのロードする準備
QGuiApplication と QQuickView のインスタンスを生成する
"""
app = QApplication([])
view = QQuickView()
""" Qt Quickの表示方法の設定
PySide2.QtQuick.QQuickView.ResizeMode の enum 定義
表示サイズはQMLのrootのQML rootアイテム(topの QMLオブジェクト)で
サイズ変更されます。
QQuickView.SizeViewToRootObject : 表示はQMLの rootアイテム
(topのQMLオブジェクト)でサイズ変更する
QQuickView.SizeRootObjectToView : 表示は、rootアイテムサイズに
QMLのオブジェクトが自動的に調整する
"""
view.setResizeMode(QQuickView.SizeRootObjectToView)
""" 画面表示するQMLコンポーネントの読み出し
URL形式で画面表示するQMLファイルを設定する。
"""
url = QUrl("HelloWorld.qml")
view.setSource(url)
if view.status() == QQuickView.Error:
sys.exit(-1)
# QMLコンポーネントの表示
view.show()
# QApplicationのイベントループ
ret = app.exec_()
""" アプリケーションの終了処理
注意:
アプリケーション終了前にQQuickViewのオブジェクトを
delしてから終了させる。
"""
del view
sys.exit(ret)
if __name__ == '__main__':
main()