说说QtQuick提供的类型


  • 管理员

    Qt Quick 提供了标准qml类型,可视化类型,动画类型以及其他qml类型。

    标准qml类型

    官网的介绍原文请戳这里

    • qml语言提供的基本类型
    类型 解释 写法
    bool Binary true/false value
    double Number with a decimal point, stored in double precision
    enumeration Named enumeration value e.g:Text.AlignRight
    int Whole number, e.g. 0, 10, or -20
    list List of QML objects [ ]
    real Number with a decimal point
    string Free form text string
    url Resource locator 和字符串一样
    var Generic property type

    为什么有一个url类型呢?我觉得除了语义化,专属于资源定位符外,还有一个好处是写资源路径的时候IDE可以自动提示。

    • qml模块提供的基本类型
    类型 解释 写法
    date Date value "YYYY-MM-DD" string
    point Value with x and y attributes "x,y" string
    rect Value with x, y, width and height attributes "x, y, width x height" string
    size Value with width and height attributes "width x height" string
    color ARGB color value. The color type refers to an ARGB color value. It can be specified in a number of ways: SVG color name;十六进制三元组或四元组;Qt.rgba(), Qt.hsva(), Qt.hsla(), Qt.darker(), Qt.lighter() or Qt.tint()
    font Font value with the properties of QFont. The font type refers to a font value with the properties of QFont。(居然是一个对象)
    matrix4x4 A matrix4x4 type is a 4-row and 4-column matrix Qt.matrix4x4(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16);
    quaternion A quaternion type has scalar, x, y, and z attributes "scalar,x,y,z" string
    vector2d A vector2d type has x and y attributes "x,y" string
    vector3d Value with x, y, and z attributes "x,y,z" string
    vector4d A vector4d type has x, y, z and w attributes "x,y,z,w" string

    我没有想到qml模块会提供这么些基本类型,在我的印象中,这些都不是对象么?

    可视化类型

    先放一张Item子类的图

    Item子类

    当然还有Qt Quick Controls 2

    Control

    有部分是继承Popup

    Popup

    顶级窗口ApplicationWindow又是另外一套

    window

    关于这部分控件,我在开发的时候做过一些记录。
    ApplicationWindow,最具体的qml主窗口

    Page是可以变换样式的控件

    图

    Control是提供共同函数的控件

    图

    Lable是跟随系统字体和颜色的控件

    Text是自定义文本

    代理就是一个模具

    Item可以和ItemDelegate融合在一起,Rectangle不行

    FocusScope显示提供一块焦点区域

    StackView基于栈的视图

    QtQuickControls 1.4和2.2不一样

    Pane背景色与应用程序的样式和主题一样

    Page可以遮住后面的

    Rectangle背景有颜色,有可选边框

    ColumnLayout就是GridLayout的特例

    Page外部的点击header感应不到

    写在后面的组件比会覆盖前面的组件

    动画类型

    动画的继承图

    图

    可以看到qml对动画的支持还是非常好的。

    其他qml类型

    这个其他类型是什么类型呢?信号槽连接的那个算不算?其他类型就是不是上面的三种类型。


  • 管理员

    @大黄老鼠 感觉乱七八糟的,不过qml的基本类型真多。。。。。。。。。。。。


登录后回复
 

与 萌梦社区 的连接断开,我们正在尝试重连,请耐心等待