第十三章:QML设计模式之单例模式
单例模式:保证仅有一个实例,并提供一个访问它的全局访问点,适合做全局的配置文件总结流程如下:1、将一个QML组件声明为单例: 在QML脚本中使用pragma Singleton关键字global/Global.qmlpragma Singletonimport QtQuick 2.0QtObject {property int screenHeight: 400property int scree
·
单例模式:保证仅有一个实例,并提供一个访问它的全局访问点,适合做全局的配置文件
总结流程如下:
1、将一个QML组件声明为单例: 在QML脚本中使用pragma Singleton关键字
global/Global.qml
pragma Singleton
import QtQuick 2.0
QtObject {
property int screenHeight: 400
property int screenWidth: 400
property color bgColor: 'lightblue';
property int textSize: 20
property color textColor: "green"
}
2、将该组件注册为单例: 使用qmldir文件 或者 qmlRegisterSingletonType注册
global/qmldir
singleton Global 1.0 Global.qml
3、将它导入到需要使用他的其它QML文件中: import
main.qml
import QtQuick 2.6
import QtQuick.Window 2.2
import "qrc:///global/"
Window {
visible: true
width: Global.screenWidth
height: Global.screenHeight
title: qsTr("Hello World")
color: Global.bgColor;
}
4、文件结构
├── global
│ ├── Global.qml
│ └── qmldir
├── main.cpp
├── main.qml
├── qml.qrc
├── singleton_demo.pro
└── singleton_demo.pro.user
更多推荐
所有评论(0)