QML 和 PyQT:建立 GUI

在本教程中,我們將使用 PyQT4 和使用者介面標記語言,這是一種描述圖形使用者介面和控制元件的語言。

QML 和 PyQT

使用者介面標記圖形使用者介面和語言程式碼的摘錄如下所示:

 Rectangle {
     id: simplebutton
     color: "grey"
     width: 150; height: 75

本質上,語言告訴介面應該是什麼樣子。我們將使用的語言稱為 QML。

QTCreator

啟動一個名為 QTCreator 的程式。本教程將非常圖形化,以幫助你完成整個過程。只需在終端中鍵入 qtcreator 或從選單列表中啟動它。此螢幕應彈出:

qtcreator

建立 GUI

點選新建專案按鈕。從下面的選單中選擇 QT Quick Application。最後按右下角的 選擇

qtquick

將出現一個新的彈出視窗:

kde 創造

鍵入名稱和有效路徑以儲存專案。然後按 Next。從選單列表中選擇 QT Quick 2.0。按下一步。按完成。立即出現以 QML 語言定義的使用者介面。

PyQt Quick

像所有偉大的程式設計師一樣,我們將以最懶惰的方式解決問題。我們不是手動輸入所有 QML 程式碼,而是按下螢幕左側的設計按鈕。現在應該出現一個拖放螢幕。

draganddrop

我們將影象拖到該區域並選擇右側的源。儲存專案。開啟終端並找到剛剛建立的 qml 檔案。或者,你只需複製編輯框中的程式碼並將其儲存到.qml 檔案即可。輸入命令:

qmlviewer main.qml

這將顯示 qml 檔案中定義的視窗,沒有任何功能。它只是介面的檢視器。然後我們建立一些程式碼來載入這個 QML 定義:

import sys
 
from PyQt4.QtCore import QDateTime, QObject, QUrl, pyqtSignal
from PyQt4.QtGui import QApplication
from PyQt4.QtDeclarative import QDeclarativeView
 
app = QApplication(sys.argv)
 
# Create the QML user interface.
view = QDeclarativeView()
view.setSource(QUrl('main.qml'))
view.setResizeMode(QDeclarativeView.SizeRootObjectToView)
view.setGeometry(100, 100, 400, 240)
view.show()
 
app.exec_()

最後我們將第一行 main.qml 修改為:

import Qt 4.7

僅僅因為我們的 QtQuick 失蹤了。執行

python run.py

現在將顯示 QML 定義的使用者介面:

QML 和 PyQT

所有程式碼都只是 PyQT ,因此你可以像上一個教程一樣新增程式碼。這是使用 PyQT 建立圖形介面的兩種方法。與在先前教程中使用QT建立 GUI 的方法相比,該方法可以更鬆散地耦合到程式碼。儘管兩者都是有效的方法。