Qt for Python之 PySide2+QML 入門示例
阿新 • • 發佈:2018-12-13
日常囉嗦
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 檔案,看看效果。