Мне удалось создать основу c GUI с ярлыком и кнопкой, используя версию OrbTk для разработки (не ту, что на crates.io). Теперь я хочу удалить ярлык и кнопку при нажатии этой кнопки.
Я посмотрел примеры на GitHub и документацию для OrbTk на docs.rs, но виджеты, похоже, не имеют function delete()
или remove()
за исключением Grid.
Поэтому я поместил виджеты в сетку, надеясь, что смогу очистить всю сетку, выполнив grid.clear()
. Но теперь в моем коде функция clear()
, кажется, не существует ...
Она написана в документации .
Код:
use orbtk::*;
widget!(MainView);
//MainView
impl Template for MainView {
fn template(self, _: Entity, ctx: &mut BuildContext) -> Self {
self.name("MainView").child(
Grid::create()
.columns(
Columns::create()
.column("*").build()
)
.rows(
Rows::create().row("*").row("*").build()
)
.child(
TextBlock::create()
.text("Label A!")
.attach(Grid::row(0))
.build(ctx),
)
.child(
Button::create()
.text("My button")
.attach(Grid::row(1))
.on_click(move |_states, _| -> bool {
println!("Rofl");
true
})
.build(ctx),
)
.build(ctx)
)
}
}
fn main() {
Application::new()
.window(|ctx| {
Window::create()
.title("OrbTk - minimal example")
.position((100.0, 100.0))
.size(420.0, 730.0)
.child(MainView::create().build(ctx))
.build(ctx)
})
.run();
}
Автомобиль go .toml:
[package]
name = "orb_tk"
version = "0.1.0"
authors = ["Niel"]
edition = "2018"
[dependencies]
orbtk = { git = "https://github.com/redox-os/orbtk.git", branch= "develop" }
Похоже, в новой версии OrbTk для разработки я использую Grid
, но не имеет remove()
или clear()
функция больше. Нет, я понятия не имею, как удалить виджет.
Как я могу удалить виджет или группу виджетов в OrbTk?