精品国产一区在线_av无码中文字幕无码王_天海翼三点刺激高潮不停_好硬好大好爽视频_欧美高清一区三区在线专区_香蕉黄色片

Slint 基礎(chǔ)介紹(一)

用戶界面由 Slint 語(yǔ)言編寫,并保持在.slint格式的文本文件中。每個(gè).slint文件可定義一個(gè)或多個(gè)組件,通過(guò)調(diào)用這些組件聲明形成一個(gè)組件樹(shù),這些節(jié)點(diǎn)組件構(gòu)成了界面的框架。您可以重復(fù)使用某些控件,也可以遞歸調(diào)用或繼承的方式生成新的組件。如下展示了一個(gè)簡(jiǎn)單的 GUI 界面組件的代碼:

import { Button } from "std-widgets.slint";

component MyRectangle inherits Rectangle {
    in property  name: "EmbeddedTeckTalk";
    Text {
        text: root.name;
    }
}

export component MyApp inherits Window {
    height: 320px;
    width: 280px;

    VerticalLayout {
        alignment: LayoutAlignment.start;
        width: parent.width;
        Rectangle {
            height: 100px;
            background: green;
            Text {
                text: "Hello Slint";
            }
        }
        MyRectangle{
            // width: 100px;
            height: 100px;
        }

        MyRectangle {
            // width: 100px;
            height: 100px;
            name: "Slint";
        }
    }
    
}

以上代碼中,MyRectangleMyApp都是自定義的組件,其中MyRectangle繼承了Slint 內(nèi)置的Rectangle組件庫(kù),意味著MyRectangle直接繼承了Rectangle的所有屬性,同時(shí),MyRectangle也將SlintText包含到內(nèi)部子節(jié)點(diǎn),因此擁有了一個(gè)Text對(duì)象。MyApp則繼承Window組件,則可以作為該 GUI 節(jié)點(diǎn)的根節(jié)點(diǎn),因此可以用來(lái)作為 GUI 的顯示入口組件。MyApp內(nèi)部聲明了多個(gè)組件,通過(guò)組件和屬性聲明各子節(jié)點(diǎn)組件的位置、從屬、約束等關(guān)系。各組件通過(guò)屬性綁定固定的值,也可通過(guò)接口或表達(dá)式綁定動(dòng)態(tài)變化的值,Slint會(huì)自動(dòng)計(jì)算表達(dá)式或依賴的變化, 因此組件屬性值的變化能自動(dòng)傳導(dǎo)并更新所有依賴該屬性的節(jié)點(diǎn)。渲染效果如下所示

各子組件也可以使用:=語(yǔ)法來(lái)指定對(duì)象名,如下示例所示:

export component MyApp inherits Window {
    width: 200px;
    height: 200px;
    in property   name: "EmbeddedTechTalk";

    // 這是一行注釋
    rec := Rectangle {
        background: red;
        width: root.width;
        height: self.width;
        border-radius: self.width/2;
        border-color: red;

        /* 注釋 
            這是一個(gè)注釋
        */
        VerticalLayout {
            alignment: LayoutAlignment.space-between;
            txt1 := Text{
                text: root.name;
                width: rec.width;
                horizontal-alignment: center;
                font-size: 15px;
            }
    
            txt2 := Text{
                text: "Hello world";
                width: parent.width;
            }
        }
    }
}

子組件對(duì)象的命名規(guī)范如下:

  • 可由字母(a-zA-Z)、數(shù)字、下劃線(_)、破折號(hào)(-)組成
  • 不能以數(shù)字開(kāi)頭
  • 下劃線(_)、破折號(hào)(-)可互換,因此命名如top_rectop-rec為同一個(gè)對(duì)象名。

同時(shí) Slint 保留以下三個(gè)作為預(yù)定義的命名,有特殊含義,因此新的對(duì)象不能指定以下三個(gè)作為對(duì)象名。

  • root: 該組件的根節(jié)點(diǎn)組件引用
  • self: 當(dāng)前組件的引用
  • parent: 當(dāng)前組件的父節(jié)點(diǎn)的引用

Slint 文件注釋支持以下兩種,與 C語(yǔ)言注釋完全一樣

  • 單行注釋//: 只在當(dāng)前行中標(biāo)記注釋文字
  • 多行注釋  /* ... */:將多行注釋包含到注釋塊

以上slint代碼渲染如下:

聲明:本內(nèi)容為作者獨(dú)立觀點(diǎn),不代表電子星球立場(chǎng)。未經(jīng)允許不得轉(zhuǎn)載。授權(quán)事宜與稿件投訴,請(qǐng)聯(lián)系:editor@netbroad.com
覺(jué)得內(nèi)容不錯(cuò)的朋友,別忘了一鍵三連哦!
贊 3
收藏 3
關(guān)注 15
成為作者 賺取收益
全部留言
0/200
成為第一個(gè)和作者交流的人吧
主站蜘蛛池模板: 影音先锋黄色网址 | 男人和女人真曰批 | 国产精品精品久久久久久甜蜜软件 | 亚洲精品菠萝久久久久久久 | 九九热精品在线视频 | 色综合久久久久久久 | 国产2区| 椎名由奈av一区二区 | 色人阁中文字幕 | 蜜桃一区二区三区 | 丰满气质白嫩少妇呻吟高潮 | 国产91在线播放九色000 | 亚洲精品无码av久久久久 | 天天影视色香欲综合久久 | 久久黄色国产 | 西欧free性video法国 | 国产精品第一区二区三区在线观看 | 一区日本| 久久试看 | 天天做天天爱天天爽综合网 | 亚洲精品在线视频播放 | 欧美一级片在线播放 | 91精品国产自产在线 | 久久久亚洲欧洲日产国码是AV | 好大好硬好爽免费视频 | 国产精品久久久久久久久久久久久久久久久久 | 又粗又猛又大爽又黄老大爷视频 | 深海狂鲨2国语版免费观看 免费精品毛片 | 中文字幕2018年最新中字版 | 国产一区二区三区视频网站 | 天天躁狠狠躁日日躁黑人 | 欧美激情亚洲天堂 | 风间由美无打码在线观看 | 免费看污的视频网站 | 四虎久久精品 | 国产成人啪精品视频网站午夜 | 爱射综合 | 久久久久久久久久99精品 | 国产超碰人人 | 隔壁黑人的巨大中文字幕 | 精品国产免费久久久久久尖叫 |