PySide2学习总结(九)创建窗口

前言

在QtQuick中,APP具有两种启动模式:
一是前面用过的QQuickView + Item;
二是QQmlApplicationEngine + Window。
相对于QQuickView ,QQmlApplicationEngine加载以Window为根对象的QML文档,QML文档则拥有窗口的完整控制权,可以直接设置标题、窗口尺寸等属性。
更详细的介绍可以查看官方文档:
QQuickView Class
QQmlApplicationEngine Class

正文

QQuickView + Item

使用QQuickView显示QML文档,在加载元素时会自动创建窗口。
编程示例

QQmlApplicationEngine + Window

QQmlApplicationEngine不会自动创建根窗口,只能加载具有Window或ApplicationWindow作为根组件的QML文档。
Window对象用于创建一个与操作系统相关的顶层窗口,包含了如Text, Rectangle, Image等元素。
ApplicationWindow是Window的派生类,使用它需要使用下面的语句来引入Controls模块:

import QtQuick .Controls 1.2

ApplicationWindow与QMainWindow类似,有menuBar, toolBar, statusBar属性,分别用来设置菜单、工具栏、状态栏,还有contentltem,可以用来设置内容元素的尺寸属性。

编程示例

代码文件目录如图:
在这里插入图片描述
main.py代码如下:

import sys
from PySide2.QtWidgets import QApplication
from PySide2.QtQml import QQmlApplicationEngine


if __name__ == "__main__":

    app = QApplication(sys.argv)
    engine = QQmlApplicationEngine("qml/main.qml")
    print(engine)
    app.exec_()

main.qml代码如下:

import QtQuick 2.7
import QtQuick.Window 2.3
import QtQuick.Controls 2.3


ApplicationWindow {
    id: _window

    // 窗口标题设置
    title: "Test App"
    // 窗口大小设置
    width: 500
    height: 300

    // Window默认不可见,需要进行设置为可见
    visible: true
}

运行代码效果如图:

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值