首页 > 编程语言 >PySide6:您的第一个QtQuick/QML应用程序

PySide6:您的第一个QtQuick/QML应用程序

时间:2022-10-13 18:07:11浏览次数:48  
标签:QtQuick 应用程序 PySide6 QML import main view

QML是一种声明性语言,它允许您比使用传统语言更快地开发应用程序。它是设计应用程序UI的理想工具,因为它具有声明性质。在QML中,用户界面被指定为具有属性的对象树。在本教程中,我们将展示如何使用PySide6和QML创建一个简单的“Hello World”应用程序。

PySide6/QML应用程序至少由两个不同的文件组成——一个包含用户界面QML描述的文件,和一个加载QML文件的python文件。为了简化操作,让我们将这两个文件保存在同一目录中。

下面是一个名为view.QML的简单QML文件:

import QtQuick

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

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

我们首先导入QtQuick,它是一个QML模块。

对于那些以前使用过HTML或XML文件的人来说,其余的QML代码非常简单。基本上,我们正在创建一个大小为200*200的绿色矩形,并添加一个文本元素,该元素显示“Hello World”。代码​​anchors.centerIn: main​​使文本在id:main的对象中居中显示,在本例中为矩形。

现在,让我们看看代码在PySide6上的外观。我们称之为main.py:

import sys
from PySide6.QtWidgets import QApplication
from PySide6.QtQuick import QQuickView

if __name__ == "__main__":
app = QApplication()
view = QQuickView()

view.setSource("view.qml")
view.show()
sys.exit(app.exec())

如果您已经熟悉PySide6并学习了我们的教程,那么您已经看到了很多这段代码。唯一的新奇之处是您必须​​import QtQuick​​并将QQuickView对象的源设置为QML文件的URL。然后,与使用任何Qt小部件一样,调用QQuickView.show()。

提示:

如果您正在为桌面编程,则应考虑在显示视图之前添加view.setResizeMode(QQuickView.SizeRootObjectToView)。

当您执行main时。py脚本,您将看到以下应用程序:

PySide6:您的第一个QtQuick/QML应用程序_ide

标签:QtQuick,应用程序,PySide6,QML,import,main,view
From: https://blog.51cto.com/u_13722598/5754467

相关文章

  • QML上层MouseArea对下层的MouseArea接收positionChange信号的遮挡
    我们知道,QML中更上层的MouseArea会阻挡下层的MouseArea接收鼠标信号,我们可以通过设置鼠标穿透来规避这种遮挡。click事件的遮挡如果将上层的MouseArea的enable属性设置为......
  • qml教程-2-Window属性
    importQtQuick2.15importQtQuick.Controls2.15Window{width:300height:480//minimumWidth:300//限制窗口放大缩小,控制窗口的大小固定//minimumHe......
  • pyside6 webengine
    importsysfromPySide6.QtWidgetsimportQApplication,QWidget,QVBoxLayout,QMainWindow,QLabel,QPushButtonfromPySide6importQtCorefromPySide6.QtWebEngineWi......
  • qml教程-3-锚点anchor布局
    importQtQuick2.15Window{width:400height:600visible:trueRectangle{anchors.fill:parentcolor:'yellowgreen'}}importQtQuick......
  • qml教程-3-Item,Rectangle
    importQtQuick2.15Window{width:400height:600visible:trueRectangle{x:100y:100width:100height:100......
  • pycharm,pyside6,第一个图形界面
      保存为 Main.ui在Pycharm中,右击这个文件,  会执行命令,转换为py文件 ui_Main.pyMain.py 代码如下fromPySide6.QtWidgetsimportQApplication,QMainWindowfrom......
  • QML 信号与响应方法的总结
    以下内容为本人的著作,如需要转载,请声明原文链接微信公众号「englyf」https://www.cnblogs.com/englyf/p/16748191.html如果面试过程中,面试官想了解你对Qt的理解有多少......
  • pycharm,pyside6,第一个图形界面
      保存为 Main.ui在Pycharm中,右击这个文件,  会执行命令,转换为py文件 ui_Main.pyMain.py 代码如下fromPySide6.QtWidgetsimportQApplication,QMai......
  • qmlRegisterType 注册C++类型出现 module not fount
    使用 qmlRegisterSingletonType或 qmlRegisterType想QML注册C++类,按照使用文档上方法添加如下:qmlRegisterSingletonType<CProtoInfoModel>("LdpModel",1,0,"p......
  • 用C++ 编写QML 扩展
    用C++编写QML扩展Qt,QML,QtQuick这是关于用C++来扩展QML的教程。源文:WritingQMLExtensionswithC++QtQML模块提供了一系列API以实现通过C++来扩展QML。可以编写扩......