13 个版本
0.3.2 | 2024 年 8 月 2 日 |
---|---|
0.3.1 | 2023 年 7 月 29 日 |
0.3.0 | 2023 年 3 月 31 日 |
0.2.2 | 2023 年 3 月 18 日 |
0.1.6 | 2021 年 11 月 30 日 |
在 GUI 中排名 1173
每月下载 206 次
在 2 crates 中使用
140KB
541 代码行
fltk-table
fltk-rs 的智能表格小部件。它旨在减少创建表格所需的样板代码。
使用方法
[dependencies]
fltk = "1.4"
fltk-table = "0.3"
示例
use fltk::{
app, enums,
prelude::{GroupExt, WidgetExt},
window,
};
use fltk_table::{SmartTable, TableOpts};
fn main() {
let app = app::App::default().with_scheme(app::Scheme::Gtk);
let mut wind = window::Window::default().with_size(800, 600);
/// We pass the rows and columns thru the TableOpts field
let mut table = SmartTable::default()
.with_size(790, 590)
.center_of_parent()
.with_opts(TableOpts {
rows: 30,
cols: 15,
editable: true,
..Default::default()
});
wind.end();
wind.show();
// Just filling the vec with some values
for i in 0..30 {
for j in 0..15 {
table.set_cell_value(i, j, &(i + j).to_string());
}
}
// set the value at the row,column 4,5 to "another", notice that indices start at 0
table.set_cell_value(3, 4, "another");
assert_eq!(table.cell_value(3, 4), "another");
// To avoid closing the window on hitting the escape key
wind.set_callback(move |_| {
if app::event() == enums::Event::Close {
app.quit();
}
});
app.run().unwrap();
}
您可以使用 SmartTable::data()
方法检索数据的副本。
TableOpts 结构也接受单元格和标题的样式元素
let mut table = SmartTable::default(TableOpts {
rows: 30,
cols: 15,
cell_selection_color: Color::Red.inactive(),
header_frame: FrameType::FlatBox,
header_color: Color::BackGround.lighter(),
cell_border_color: Color::White,
..Default::default()
});
您还可以使用 set_row_header_value()
和 set_col_header_value()
方法更改行/列标题字符串,这些方法接受所需行/列的索引。
依赖项
~14MB
~305K SLoC