1. 程式人生 > >Qt for Python之 PySide2+QML 入門示例

Qt for Python之 PySide2+QML 入門示例

日常囉嗦

QML是一種描述性的指令碼語言,語法格式非常像CSS,且支援javascript形式的程式設計控制。眾所周知, 用QML來寫介面既簡單又高效,可以非常快速的搭建一個酷炫的介面出來,所以在做 Qt 應用開發時,若遇到比較複雜或動效較多的介面,如 Qt 開發 Android,通常都是選用 QML 來實現。 而 Python,2018最火的程式語言非它莫屬了吧,Python是一種解釋型、面向物件、動態資料型別的高階程式設計語言,它具有非常強的可拓展性,可以說只有想不到,沒有 Python 做不到的,就是這麼牛哄哄。

既然這兩者都各有千秋,那麼一直想著 把 Python 和 QML 結合起來,這兩者一定會擦出不一樣的火花。

OK,又日常囉嗦了幾句。那麼今天就來看看如何使用 PySide2和 QML來寫一個最簡單的入門程式。只要知道開頭怎麼走,那麼後續更復雜的程式就可以在此基礎上進行不斷擴充套件啦。

開始正文

PySide2的安裝就不單獨說了,為什麼是PySide2呢,因為它支援 Qt5,就是這麼簡單。

需要準備兩個檔案, 一個是 QML 實現介面,一個是 Python 實現介面的呼叫。

首先,我們準備一個 QML 簡單的介面,既然是入門程式,那就寫個所有程式設計師都能意會的 “hello world” 吧。

import QtQuick 2.0
Rectangle{
	width:300
	height:300
	color:"cyan"
	Text{
		text:"Hello world"
		anchors.centerIn:parent
	}
}

OK,緊接著來看看如何在 Python 檔案中對 QML 介面進行呼叫。

from PySide2.QtWidgets import QApplication
from PySide2.QtQuick import QQuickView
from PySide2.QtCore import QUrl

app = QApplication([])
view = QQuickView()
url = QUrl("view.qml")
view.setSource(url)
view.show()
app.exec_()

完結了,兩個檔案一定要放在同一個目錄中,qml引用路徑是在當前目錄。執行 Python 檔案,看看效果。