Qt/QML编程学习之心得:一个.qml文件调用另一个.qml文件(十七)

在c++中,一个文件调用另外一个文件最直接最快捷的方式就是#incldue<头文件>的使用,那么在元数据描述性语言QML中,如何从一个界面描述调用另外一个界面描述,一个.qml文件调用另外一个.qml呢?QML虽然有个import,但是用法可以说完全不同于#include。

引用方法1:直接引用(静态)

如果.qml文件同在一个目录下,qml可以直接使用,是不需要再import的。那就可以直接使用,使用的是文件名。比如有个main.qml和mainWidget.qml,mainWidget.qml为整个main.qml的一部分,且占满整个界面,或者说ApplicationWindow啥也没干,是个“虚”的窗口,就是把主界面MainWidget装在了进来,所有的界面组件都在MainWidget这个.qml中定义。这时的调用可以使用下面的加载方法引用,特点是实例化另一个.qml文件(文件名称第一个字母要大写),可以认为是静态引用(因为加载就是实例化的过程,之后如果窗口关闭,就没法再次加载了)

main.qml:

import QtQuick 2.9
import QtQuick.Controls 2.0
import QtQuick.Window 2.2
import QtQuick.Layouts 1.2

ApplicationWindow {
    id:root
    visible: true
    width: 1024
    height: 720
    flags: Qt.BypassWindowManagerHint | Qt.FramelessWindowHint | Qt.WindowStaysOnTopHint
    color: "

你可能感兴趣的:(qt,qml)