首页 > 其他分享 >Slint 的两个核心 macro

Slint 的两个核心 macro

时间:2023-11-05 17:46:09浏览次数:49  
标签:文件 rs macro 编译 slint 核心 build main Slint

slint::include_modules!

要使用这个库,首先需要在 Cargo.toml 中完成:

  1. [package] 部分增加 build="build.rs"
  2. [build-dependencies] 部分增加 slint-build="1.1.1"[1]

随后,应该在与 Cargo.toml 同级的目录创建 build.rs,其内容为(示例):

fn main() {
  slint_build::compile("ui/appwindow.slint").unwrap();
}

当我们在主 main.rs 文件中调用这个宏时,build.rs 会将 ui/appwindow.slint 设计文件编译成对应的 Rust 文件,并引入 main.rs 中进行编译。因此可以在 main() 函数体中使用这一设计文件定义的组件、窗体。

slint::slint!

与刚才的 slint::include_modules! 独立编译“外部”设计文件不同,slint::slint! 直接在 Rust 文件内部进行编译替换操作,也就是生成行内 (inline) 组件。


  1. 具体版本需要根据当前 最新的发布信息 决定。 ↩︎

标签:文件,rs,macro,编译,slint,核心,build,main,Slint
From: https://www.cnblogs.com/zhongdongy/p/slint-macros.html

相关文章

  • 年底赶项目?买核心板送开发板!T113核心板2款芯片6种配置选择
    全志T113系列芯片是目前比较受欢迎的国产入门级嵌入式工业芯片。米尔是基于T113芯片开发较早、提供配置最全的厂家,是目前唯一一家提供T113-S和T113-i两种芯片核心板的厂家。更好的消息是,T113-i的核心板兼容T113-S的核心板,同一个硬件设计,有多种更适合的选择。2种芯片,6种配置,总有一种......
  • 年底赶项目?买核心板送开发板!T113核心板2款芯片6种配置选择
    全志T113系列芯片是目前比较受欢迎的国产入门级嵌入式工业芯片。米尔是基于T113芯片开发较早、提供配置最全的厂家,是目前唯一一家提供T113-S和T113-i两种芯片核心板的厂家。更好的消息是,T113-i的核心板兼容T113-S的核心板,同一个硬件设计,有多种更适合的选择。2种芯片,6种配置,总有一......
  • Go语言百万高薪开发架构师一线大牛亲授+企业项目实战+云原生架构核心
    Go语言百万高薪开发架构师一线大牛亲授+企业项目实战+云原生架构核心 第1章云原生架构1.1云计算的历史1.1.3容器的横空出世和容器编排大战上一次我们提到了PaaS,PaaS的开源产品Docker对云计算领域产生了深远的影响,从虚拟机到容器,整个云计算市场发生了一次重大变革。容......
  • MT8365安卓核心板_MTK8365/I350核心板规格参数
    MT8365安卓核心板是一款基于联发科MTK8365芯片开发的强大核心板。它采用模块化设计,内置1GB+8GB的存储空间(可选配置包括2GB+16GB、3GB+32GB和4GB+64GB),默认搭载谷歌的Android11.0操作系统。该核心板具有丰富的接口功能,包括LCM、摄像头、触摸屏、麦克风、扬声器、UART、USB、I......
  • Unity DOTS系列之Struct Change核心机制分析
    最近DOTS发布了正式的版本,我们来分享一下DOTS里面StructChange机制,方便大家上手学习掌握UnityDOTS开发。基于ArchType与Chunk的Entity管理机制  我们回顾以下ECS的内存管理核心机制,基于ArchType+Chunk的Entity管理模式。每个Entity不直接存放数据,数据全部存放到Component......
  • 使用脚本整合指定文件/文件夹,执行定制化 ESLint 命令
    背景最近面对一个庞大的项目,但是只需要修改某个模块,每次都手搓命令太麻烦了,于是就想着能不能写个脚本来辅助处理这些事情。解决方案定制化一键ESLint,执行文件下载地址:https://github.com/mazeyqian/go-gin-gee/releases/tag/v1.4.0基础使用以下案例以macOS为例,其他系统......
  • 【MMD】MMD三渲二的终极解决方案msToonCoordinator丨核心概念丨赛璐璐丨技法丨资料
    本篇最开始放在B站的专栏,感觉B站的专栏越来越不方便,想增添补修都非常麻烦(B站专栏只允许修改三次),所以逐步搬迁到博客园。感谢MMD、MME的所有的制作者。使用msToonCoordinator渲染 前言一、这是经验分享,不是专业性质的文章。二、不要在评论区刷U3D、UE、Blender、C4D更强之类......
  • eslint$prettier 记录
    module.exports={//eslint配置eslintJSON:{root:true,//当前配置为根配置,将不再从上级文件夹查找配置parserOptions:{parser:'babel-eslint',//采用babel-eslint作为语法解析器sourceType:'module',//指定来源的类型,有两种script......
  • 用结构化思维解一切BUG(1):核心思路
    面对万“卷”世界,有人选择拼命学习新技术,解决眼前的、点状问题;有人提升思维层级,解决未来的、系统问题。您选择什么?背景我有10多年编程经验和研发管理经历,虽很久不写代码,但有很多人找我咨询技术问题,解决程序BUG。因为不管多么千奇百怪的技术栈,我都能帮到他们,或直接给出解题思......
  • Util应用框架核心(三) - 服务注册器
    本节介绍服务注册器的开发.如果你不需要扩展Util应用框架,直接跳过.当你把某些功能封装到自己的类库,并希望启动时自动执行初始化代码进行配置时,定义服务注册器.服务注册器概述服务注册器是Util项目启动时自动执行的代码块.Util应用框架的某些类库使用服务注册器进行配置,比......