#widgets #bindings #ui #graphics #extra

fltk-extras

为 fltk-rs 提供一些额外的小部件

9 个版本

0.1.8 2023 年 9 月 5 日
0.1.7 2023 年 9 月 2 日
0.1.6 2023 年 8 月 28 日
0.1.3 2023 年 5 月 20 日
0.1.1 2023 年 1 月 17 日

#1071GUI

Download history 41/week @ 2024-04-02

86 每月下载量
用于 sysinfo-gui

MIT 许可证

36KB
968

fltk-extras

一些额外的 fltk 小部件

按钮

use fltk::{prelude::*, *};
use fltk_extras::button::*;

fn main() {
    let a = app::App::default();
    app::set_background_color(0, 0, 0);
    app::set_foreground_color(255, 255, 255);
    app::set_background2_color(128, 128, 128);
    let mut w = window::Window::default().with_size(400, 300);
    let col = group::Flex::default()
        .with_size(80, 200)
        .column()
        .center_of_parent();
    Toggle::default();
    RoundToggle::default();
    CheckButton::default().with_label("Done?");
    HollowRoundToggle::default();
    RadioButton::default().with_label("Radio");
    HoverButton::default().with_label("Hover");
    col.end();
    w.end();
    w.show();
    a.run().unwrap();
}

image

滑块

use fltk::{prelude::*, *};
use fltk_extras::slider::*;

fn main() {
    let a = app::App::default();
    app::set_background_color(0, 0, 0);
    app::set_foreground_color(255, 255, 255);
    app::set_background2_color(128, 128, 128);
    let mut w = window::Window::default().with_size(400, 300);
    let col = group::Flex::default()
        .column()
        .with_size(200, 200)
        .center_of_parent();
    let _hslider = FancyHorSlider::default().with_label("Hor");
    let _vslider = FancyVertSlider::default().with_label("Vert");
    col.end();
    w.end();
    w.show();
    a.run().unwrap();
}

image

旋钮

use fltk::{prelude::*, *};
use fltk_extras::dial::*;

fn main() {
    let a = app::App::default();
    app::set_background_color(0, 0, 0);
    app::set_foreground_color(255, 255, 255);
    app::set_background2_color(128, 128, 128);
    let mut w = window::Window::default().with_size(400, 300);
    let col = group::Flex::default()
        .column()
        .with_size(100, 200)
        .center_of_parent();
    let mut dial = Dial::default();
    dial.modifiable(false);
    dial.set_value(75);
    let mut halfdial = HalfDial::default();
    halfdial.set_value(23);
    col.end();
    w.end();
    w.show();
    a.run().unwrap();
}

image

单选按钮组

use fltk::{prelude::*, *};
use fltk_extras::radiogroup::*;

fn main() {
    let a = app::App::default();
    app::set_background_color(0, 0, 0);
    app::set_foreground_color(255, 255, 255);
    app::set_background2_color(128, 128, 128);
    let mut w = window::Window::default().with_size(400, 400);
    let mut rg = RadioGroup::default().with_size(200, 30).center_of_parent();
    button::RadioButton::default().with_label("First");
    button::RadioButton::default().with_label("Second");
    button::RadioButton::default().with_label("Third");
    rg.end();
    w.end();
    w.show();
    a.run().unwrap();
}

ss

依赖项

~15MB
~327K SLoC