add callback to add row to slint ui

This commit is contained in:
2026-05-14 21:38:20 +02:00
parent 175f5459a8
commit 922c28d426
2 changed files with 31 additions and 13 deletions
+19 -1
View File
@@ -1,7 +1,9 @@
#![cfg_attr(not(debug_assertions), windows_subsystem = "windows")]
use std::error::Error;
mod rutracker;
use slint::{ModelRc, StandardListViewItem, VecModel};
use std::error::Error;
use std::rc::Rc;
slint::include_modules!();
@@ -13,6 +15,22 @@ fn main() -> Result<(), Box<dyn Error>> {
let _response = rutracker::search(&text);
});
let table_vec: Vec<ModelRc<StandardListViewItem>> = vec![];
let table_model = Rc::new(VecModel::from(table_vec));
let test = "test";
ui.set_table_data(table_model.to_owned().into());
ui.on_add_row({
move || {
table_model.push(VecModel::from_slice(&[
StandardListViewItem::from(slint::SharedString::from(test)),
//StandardListViewItem::from("<new>"),
]));
}
});
ui.run().unwrap();
ui.run()?;
Ok(())