#widgets #ui #graphics #bindings

fltk-calendar

fltk-rs 的日历对话框

11 个版本

0.4.0 2023 年 3 月 31 日
0.3.6 2022 年 3 月 22 日
0.3.5 2021 年 12 月 19 日
0.3.3 2021 年 9 月 8 日
0.1.2 2021 年 2 月 19 日

GUI 中排名第 1347

Download history 1/week @ 2024-06-06 1/week @ 2024-06-13

每月下载 53
booklibrs 中使用

MIT 许可证

11KB
157

fltk-rs-calendar

fltk-rs 的日历对话框。由于它需要一个对 chrono 的依赖,因此被分离到自己的包中,同时 Calendar::get_date() 方法返回 chrono::NaiveDate。

用法

将以下内容添加到您的 Cargo.toml 中

[dependencies]
fltk-calendar = "0.3"

然后可以使用 Calendar::new(x, y) 或 Calendar::default() 函数实例化对话框。通过双击单元格选择日期。

use fltk::{prelude::*, *};
use fltk_calendar::calendar;
use chrono::prelude::*;

fn main() {
    let app = app::App::default().with_scheme(app::Scheme::Gtk);
    let mut win = window::Window::new(100, 100, 400, 300, "");
    let mut but = button::Button::new(160, 200, 80, 40, "Click");
    win.end();
    win.show();
    but.set_callback(move |_| {
        let cal = calendar::Calendar::default(); // or calendar::Calendar::new(200, 100);
        let date = cal.get_date();
        println!("{:?}", date);
        if let Some(date) = date {
            println!("{:?}", date.year());
            println!("{:?}", date.month());
            println!("{:?}", date.day());
        }
    });
    app.run().unwrap();
}

依赖项

~15MB
~323K SLoC