跳到正文

浮层与对话框

应用内样式的内容用 QuickGUI 浮层;选文件和系统提示用系统对话框。

#Popover

组合 trigger、positioner、popup 和 arrow 部件。把 open 保存在 View 上。

let popover = Popover::new("help-trigger", "help-popup", open)
    .side(AnchorSide::Bottom)
    .side_offset(8.0);
let mut root = popover.root().child(
    popover.trigger().on_click(toggle).child("Account"),
);
if popover.is_open() {
    root = root.child(popover.positioner().child(
        popover.popup().w(240.0).p(16.0).on_dismiss(dismiss).children([
            popover.title().child("Account"),
            popover.close("Close").on_click(dismiss).child("Done"),
        ]),
    ));
}
root

#Dialog

Dialog::new 和 Dialog::alert 会添加标题、说明、背景遮罩和关闭控件。

let dialog = Dialog::new("save", open);
dialog.root().child(dialog.title_with(text("Save changes")))

#系统浮窗

SystemPopover 打开原生子窗口,可以延伸到所属窗口边缘之外。

#原生对话框

cx.prompt("Save changes?", ["Save", "Cancel"]);
cx.prompt_for_paths(PathPromptOptions::new().files(true).multiple(true));