Rust之fluid用法(fltk ui 设计器)
生活随笔
收集整理的這篇文章主要介紹了
Rust之fluid用法(fltk ui 设计器)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
fl2rust
用法
$ cargo install fl2rust然后運行:
$ fl2rust <fl file>.fl > <output file>.rs要通過 cargo 實現自動化,我們可以通過將 fl2rust 添加到構建依賴項中來將其用作庫:
# Cargo.toml [dependencies] fltk = "1"[build-dependencies] fl2rust = "0.4" // build.rs fn main() {use std::path::PathBuf;use std::env;println!("cargo:rerun-if-changed=src/myuifile.fl");let g = fl2rust::Generator::default();let out_path = PathBuf::from(env::var("OUT_DIR").unwrap());g.in_out("src/myuifile.fl", out_path.join("myuifile.rs").to_str().unwrap()).expect("Failed to generate rust from fl file!"); } # src/myuifile.fl -> generated via fluid # data file for the Fltk User Interface Designer (fluid) version 1.0400 header_name {.h} code_name {.cxx} class UserInterface {open } {Function {make_window()} {open} {Fl_Window {} {open selectedxywh {138 161 440 355} type Double visible} {Fl_Button but {label {Click me}xywh {175 230 95 45}}}} } // src/myuifile.rs #![allow(unused_variables)] #![allow(unused_mut)] #![allow(unused_imports)] #![allow(clippy::needless_update)]include!(concat!(env!("OUT_DIR"), "/myuifile.rs")); // src/main.rs use fltk::{prelude::*, *}; mod myuifile;fn main() {let app = app::App::default();let mut ui = myuifile::UserInterface::make_window();ui.but.set_callback(move |_| {println!("Works!");});app.run().unwrap(); }獲取FLUID的幾種方式:
- cargo install fltk-fluid
- 通過包管理器。
- 通過使用 cmake 自己構建 fltk 庫。
- Fluid 在構建 fltk-rs 時構建,它將位于 OUT_DIR 中。
i18n 支持
tr!0.4.4 版通過tr crate 中的宏添加了 i18n 支持。要啟用它:
- 在fluid中,Edit->Project Settings...->Internationalization.。
- 更改下拉菜單以使用 GNU gettext(tr crate 支持 gettext-rs 和 gettext 兩種形式)。
- 將 tr 添加到 Cargo.toml 中的依賴項。
- 添加到我們的 main.rs 文件:
- 按照 tr crate 的文檔中的描述初始化 tr。
已知限制
- 不支持添加任意代碼或聲明全局/成員變量。
- 僅支持構造方法。
- fl2rust 不會檢查生成的 Rust 代碼的正確性。
教程
- 將 FLUID(RAD 工具)與 Rust 一起使用
?
總結
以上是生活随笔為你收集整理的Rust之fluid用法(fltk ui 设计器)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Oracle 11g Rac搭建
- 下一篇: 5G协议学习(38.300-总体描述)