Как удалить виджет в OrbTk? - PullRequest
0 голосов
/ 26 марта 2020

Мне удалось создать основу 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?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...