QT Demo 之 window(5) window.qml

在分析了main.cppSplashQt.quit()以及ScreenInfo之后,我们终于开始了正题:window.qml。

window.qml的主体结构

window.qml主体是一个QtObject,其中包含了4个子元素:palette、controlWindow、testWindow和splashWindow:

QtObject {
    property real defaultSpacing: 10
    property SystemPalette palette: SystemPalette { }

    property var controlWindow: Window {}

    property var testWindow: Window {}

    property var splashWindow: Splash {}
}

QtObject简述

The QtObject type is a non-visual element which contains only the objectName property.
It can be useful to create a QtObject if you need an extremely lightweight type to enclose a set of custom properties.

从文档中我们知道QtObject类型是一个超级简单基本的类型,只包含一个objectName的属性,但是可以通过风中一系列的自定义properties来扩展并完成需要的功能。这里的代码也是,在基本的QtObject下添加了4种扩展类型的properties和一个基本类型的property。

这里面也提到了另外一个词:lightweight,也就是在使用QtObject的时候主要不要做太复杂的操作和逻辑。这里面有一个很典型的例子,可以参考Qt5.3.2/Examples/Qt-5.3/quick/demos/samegame/content/Settings.qml的代码。

SystemPalette类型

The SystemPalette type provides access to the Qt application palettes. This provides information about the standard colors used for application windows, buttons and other features. These colors are grouped into three color groups: Active, Inactive, and Disabled. See the QPalette documentation for details about color groups and the properties provided by SystemPalette.
这里创建了一个基于SystemPalette的对象palette,主要的作用是在下面的controlWindow中使用palette.window来赋值给color属性:

        color: palette.window
这样使用的目的(个人猜测)是:获取背景窗口的颜色,来设置给当前窗口&
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值