jui is a ui set based on slint
SurrealismUI is already supported
more function coming soon
warn
jui will temporarily lock the slint version is 1.5.1,
because slint#5260
please use the following method to import the latest version of Jui and lock the slint version
[]
= "~1.5.1"
[]
= "0.1.25"
# jui = { version = "0.1.25", features = ["surrealism_ui"] }
Supported components
name | import example |
---|---|
Button | import { Button } from "@jui/button/button.slint"; |
ButtonBase | import { ButtonBase } from "@jui/button/button_base.slint"; |
ButtonOpt | import { ButtonBase } from "@jui/button/button_opt.slint"; |
ButtonOptBase | import { ButtonOptBase } from "@jui/button/button_opt_base.slint"; |
ButtonOptList | import { ButtonOptList } from "@jui/button/button_opt_list.slint"; |
InputBase | import { InputBase } from "@jui/input/input_base.slint"; |
Input | import { Input } from "@jui/input/input.slint"; |
UnderlineInput | import { UnderlineInput } from "@jui/input/underline_input.slint"; |
CheckBox | import { CheckBox } from "@jui/checkbox.slint"; |
SpaceEnter | import { SpaceEnter } from "@jui/event/space_enter.slint"; |
TouchSpaceEnter | import { TouchSpaceEnter } from "@jui/event/touch_space_enter.slint"; |
Collapse | import { Collapse } from "@jui/collapse/collapse.slint"; |
Confirm | import { Confirm } from "@jui/message/confirm.slint"; |
Tag | import { Tag } from "@jui/message/tag.slint"; |
Mask | import { Mask } from "@jui/message/mask.slint"; |
DrawerCommon | import { DrawerCommon } from "@jui/drawer/drawer_common.slint"; |
Drawer | import { Drawer } from "@jui/drawer/drawer.slint"; |
DrawerTop | import { DrawerTop } from "@jui/drawer/drawer_top.slint"; |
DrawerLeft | import { DrawerLeft } from "@jui/drawer/drawer_left.slint"; |
DrawerRight | import { DrawerRight } from "@jui/drawer/drawer_right.slint"; |
DrawerBottom | import { DrawerBottom } from "@jui/drawer/drawer_bottom.slint"; |
Tabs | import { Tabs } from "@jui/nav/tabs.slint"; |
ComboBox | import { ComboBox } from "@jui/combobox/combobox.slint"; |
Supported data
nane | import example |
---|---|
Position | import { Position } from "@jui/data/position.slint"; |
ButtonOptData | import { ButtonOptData } from "@jui/button/button_opt_list.slint"; |
TabsData | import { TabsData } from "@jui/nav/tabs.slint"; |
ConfirmData | import { ConfirmData } from "@jui/message/confirm.slint"; |
ConfirmTitleData | import { ConfirmTitleData } from "@jui/message/confirm.slint"; |
ConfirmButtonData | import { ConfirmButtonData } from "@jui/message/confirm.slint"; |
ComboBoxData | import { ComboBoxData } from "@jui/combobox/combobox.slint"; |
Supported icons
nane | import example |
---|---|
IconClose | import { IconClose } from "@jui/icons/icon_close.slint"; |
SurrealismUI example
features enable surrealism_ui, Cargo.toml file like example:
[]
= "~1.5.1"
[]
= { = "0.1.25", = ["surrealism_ui"] }
use SurrealismUI in you slint file:
// support all component
// import { SButton } from "@surrealism_all";
// support single component
import { SButton } from "@surrealism/button/index.slint";
export component App inherits Window {
SButton {}
}
more SurrealismUI see: SurrealismUI wiki
if you want use alias import SurrealismUI, example for this build.rs:
use SurrealismUI;
Jui Button example
Cargo.toml file :
[]
= "~1.5.1"
[]
= "0.1.25"
main.rs file :
!;
include_modules
build.rs file :
view/main.slint file :
import { Button } from "@jui/button.slint";
export component App inherits Window {
min-width: 300px;
min-height: 300px;
Rectangle {
Button {
color: red;
}
}
}
More example
coming soon