【Qt for Python官方教程】创建第一个Quick/QML程序

QML 是一种描述性语言,用它开发程序可以比传统语言更快速。由于它的描述性特性,用于设计 UI 界面非常理想。在 QML 中,用户界面用一个带有属性的对象树来描述。在本篇教程中,我们将讲解怎么用 PySide6 和 QML 完成一个简单的 “Hello World” 程序。

一个 PySide6/QML 程序至少包含两个文件:一个 QML 文件用于描述用户界面,另一个 python 文件用于载入 QML 文件。简单起见,我们把这两个文件放在同一个目录下。

下面是一个简单的 QML 文件,命名为 view.qml

import QtQuick 2.0

Rectangle {
    width: 200
    height: 200
    color: "green"

    Text {
        text: "Hello World"
        anchors.centerIn: parent
    }
}

开头需要引用 QtQuick 2.0,这是一个 QML 模块。

剩下的代码对于用过 HTML 或者 XML 的同学来说是非常直观的。简单来说,我们创建了一个绿色的 200*200 的正方形,然后在里面加入了 “Hello World” 的文本。代码 anchors.centerIn: parent 让文本显示在它的父组件(绿色正方形)的中心位置。

接着,让我们看看 PySide6 代码,将其命名为 main.py

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

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

view.setSource(url)
view.show()
app.exec()

如果你一直跟着我们的教程并且对 PySide6 比较熟悉了,这样的代码应该看了很多了。这里唯一不同的地方是你必须 import QtQuick,然后设置 QQuickView 对象的源为你的 QML 文件的 URL。最后,像其他 Qt Widget 一样,你需要调用 QQuickView.show()

备注
如果你要开发桌面应用,你需要考虑在显示窗口之前加上 view.setResizeMode(QQuickView.SizeRootObjectToView)


更多关于 Qt for Python 文章,可以查看 PySide6 官方教程 专栏。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值