qt quick学习

本人阅读能力真是堪忧。不管是看qt文档还是别人的教程。都感觉是一头雾水。在此尝试记录下相关问题,以后慢慢体会。

关于qt quick:用qml语言来编程。  属于declarative programming(声明式语言,声明式语言包括 regular如正则表达式,函数式语言如lisp,逻辑语言prolog等等。相对的,命令式语言 比如c,java),怎么理解呢?我也不太清楚,感觉声明式的就是在描述组件怎么用,需要哪些组件,而命令式的是自己具体实现计算过程<TODO>。

qt quick提供一个基础的Rectangle(继承自item类,item类是qtquick提供给我们最基础的视觉类),用以显示一个用户框框,效果呢可以达到纯色,或者梯度色,(想用其他复杂点的,得考虑使用canvas【画布】或者image等)。好了rectangle在手,矩形我有。

import QtQuick 2.3

Item {

    width: 320
    height: 480

    Rectangle {
        color: "#272822"
        width: 320
        height: 480
    }

    // This element displays a rectangle with a gradient and a border
    Rectangle {
        x: 160
        y: 20
        width: 100
        height: 100
        radius: 8 // This gives rounded corners to the Rectangle
        gradient: Gradient { // This sets a vertical gradient fill
            GradientStop { position: 0.0; color: "aqua" }
            GradientStop { position: 1.0; color: "teal" }
        }
        border { width: 3; color: "white" } // This sets a 3px wide black border to be drawn
    }

    // This rectangle is a plain color with no border
    Rectangle {
        x: 40
        y: 20
        width: 100
        height: 100
        color: "red"
    }
}

看,用qmlscene来预览qml的效果是不是超级方便呢。


主框框是一个item,它只有宽高等简单属性 而颜色固定。在框框内部,它定义了三个矩形,rectangle属性多了颜色 ,渐变,棱角平滑度,边框厚度等等。

这例子超级简单,不过谁能告诉我,水叮当是啥颜色?言归正传,从自带实例看到,这qml用的最多的就是定义属性,形式是 名称:值。

那么,实例中渐变那里又是什么鬼?怎么属性后边还跟着对象(类型名+大括号)呢?老衲也不是很清楚,以后再说(TODO)。

好啦,结束了第一节就是这么轻松,虽然还有问题遗留,但是我们初步接触了qt quick的rectangle,其他的问题以后再说,嘿嘿

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页