31个版本 (19个稳定版)

1.7.2 2024年8月14日
1.7.1 2024年7月25日
1.6.0 2024年5月13日
1.5.1 2024年3月20日
0.2.1 2022年3月10日

#23 in GUI

Download history 9/week @ 2024-04-26 1/week @ 2024-05-03 158/week @ 2024-05-10 50/week @ 2024-05-17 34/week @ 2024-05-24 20/week @ 2024-05-31 16/week @ 2024-06-07 16/week @ 2024-06-14 1/week @ 2024-06-21 55/week @ 2024-07-05 90/week @ 2024-07-12 155/week @ 2024-07-19 89/week @ 2024-07-26 22/week @ 2024-08-02 112/week @ 2024-08-09

每月459次下载

GPL-3.0-only…

3MB
66K SLoC

Slint查看器

这是一个用于Slint项目.slint文件的查看器。

安装

可以从crates.io安装查看器

cargo install slint-viewer

或者,您可以下载我们的Linux或Windows预构建的二进制文件之一

  1. 打开 https://github.com/slint-ui/slint/releases
  2. 点击最新版本
  3. 从“资产”下载Linux x86-64二进制文件的slint-viewer-linux.tar.gz或Windows x86-64二进制文件的slint-viewer-windows.zip
  4. 解压缩下载的存档并运行 slint-viewer/slint-viewer.exe

用法

您可以通过将其作为参数传递来打开.slnt文件

slint-viewer path/to/myfile.slint

命令行参数

  • --auto-reload:自动监视文件系统,并在更改时重新加载
  • --save-data <file>:退出时,将公共属性的值写入json文件。只有可以序列化为json的类型属性才会写入。此选项与--auto-reload不兼容
  • --load-data <file>:从json文件加载公共属性的值。
  • -I <path>:添加包含路径以查找导入的.slnt文件或图像。
  • -L <library=path>:添加库路径以查找@library导入。
  • --style <style>:设置样式。如果编译了Qt后端,默认为native,否则为fluent
  • --backend <backend>: 覆盖 Slint 渲染后端
  • --on <callback> <handler>: 设置回调处理程序,请参阅回调处理程序
  • --component <name>: 加载指定名称的组件。如果未指定,则加载最后一个导出的组件

可以使用标准输入或标准输出代替文件路径。

回调处理程序

可以在接收到回调时告诉查看器执行一些shell命令。您可以使用--on命令行参数,后跟回调名称,再跟命令。在命令参数中,$1$2等将被替换为回调的第一个、第二个、...参数。这些将被shell转义。

示例:假设我们有一个类似以下的 myfile.slint

export component MyApp inherits Window {
  callback open-url(string);
  //...
}

可以通过以下方式使 open-url 回调执行一个命令:

slint-viewer --on open-url 'xdg-open $1' myfile.slint

请小心使用单引号或转义 $,以免shell展开 $1

对话框

如果.slint 文件的根元素是 Dialog,则不同的 StandardButton 如果按钮上没有设置回调,可能会关闭对话框。

  • okyesclose 按钮接受对话框
  • cancelno 按钮拒绝对话框

返回码

程序以下述错误码返回

  • 如果命令行参数解析失败,退出码将为 1
  • 如果 .slint 编译失败,编译错误将被打印到 stderr,退出码为 -1
  • 如果关闭了窗口,退出码将为 0
  • 如果通过 "Ok" 或 "Closed" 或 "Yes" 按钮关闭了对话框,退出码将为 0
  • 如果通过 "Cancel" 或 "No" 按钮关闭了对话框,或者使用窗口标题栏中的关闭按钮,退出码将为 1

示例

slint-viewer 可以用于从shell脚本中显示 GUI。有关示例,请参阅我们仓库中的 examples/bash 文件夹。

依赖项

~19–61MB
~1M SLoC