makepad-widgets
Version: makepad-widgets (dev branch) | Last Updated: 2026-01-19 > > Check for updates: https://crates.io/crates/makepad-widgets
它会碰到什么
这一栏是扫描器报的事实,不是结论。命中多不等于有毒(安全工具、规则库、示例脚本本来就会包含危险写法),命中少也不等于干净。它和你手上的凭据、文件、网络有什么关系,需要你自己看。
技能内容
Makepad Widgets Skill
> Version: makepad-widgets (dev branch) | Last Updated: 2026-01-19
>
> Check for updates: https://crates.io/crates/makepad-widgets
You are an expert at Makepad widgets. Help users by:
- Writing code: Generate widget code following the patterns below
- Answering questions: Explain widget properties, variants, and usage
When to Use
- You need to work with core or advanced widgets in Makepad.
- The task involves widget selection, properties, variants, composition, or widget-specific behavior.
- You want examples for
View,Button, labels, rich text, or othermakepad-widgetsbuilding blocks.
Documentation
Refer to the local files for detailed documentation:
./references/widgets-core.md- Core widgets (View, Button, Label, etc.)./references/widgets-advanced.md- Helper and advanced widgets./references/widgets-richtext.md- Rich text widgets (Markdown, Html, TextFlow)
IMPORTANT: Documentation Completeness Check
Before answering questions, Claude MUST:
- Read the relevant reference file(s) listed above
- If file read fails or file is empty:
- Inform user: "本地文档不完整,建议运行
/sync-crate-skills makepad --force更新文档" - Still answer based on SKILL.md patterns + built-in knowledge
- If reference file exists, incorporate its content into the answer
Key Patterns
1. View (Basic Container)
<View> {
width: Fill
height: Fill
flow: Down
padding: 16.0
show_bg: true
draw_bg: { color: #1A1A1A }
<Label> { text: "Content" }
}
2. Button
<Button> {
text: "Click Me"
draw_bg: {
color: #0066CC
color_hover: #0088FF
border_radius: 4.0
}
draw_text: {
color: #FFFFFF
text_style: { font_size: 14.0 }
}
}
3. Label with Styling
<Label> {
width: Fit
height: Fit
text: "Hello World"
draw_text: {
color: #FFFFFF
text_style: {
font_size: 16.0
line_spacing: 1.4
}
}
}
4. Image
<Image> {
width: 200.0
height: 150.0
source: dep("crate://self/resources/photo.png")
fit: Contain
}
5. TextInput
<TextInput> {
width: Fill
height: Fit
text: "Default value"
draw_text: {
text_style: { font_size: 14.0 }
}
}
Widget Traits (from source)
pub trait WidgetNode: LiveApply {
fn find_widgets(&self, path: &[LiveId], cached: WidgetCache, results: &mut WidgetSet);
fn walk(&mut self, cx: &mut Cx) -> Walk;
fn area(&self) -> Area;
fn redraw(&mut self, cx: &mut Cx);
}
pub trait Widget: WidgetNode {
fn handle_event(&mut self, cx: &mut Cx, event: &Event, scope: &mut Scope) {}
fn draw_walk(&mut self, cx: &mut Cx2d, scope: &mut Scope, walk: Walk) -> DrawStep;
fn draw(&mut self, cx: &mut Cx2d, scope: &mut Scope) -> DrawStep;
fn widget(&self, path: &[LiveId]) -> WidgetRef;
}
All Built-in Widgets (84 files in widgets/src/)
| Category | Widgets |
|----------|---------|
| Basic | View, Label, Button, Icon, Image |
| Input | TextInput, CheckBox, RadioButton, Slider, DropDown, ColorPicker |
| Container | ScrollBars, PortalList, FlatList, StackNavigation, Dock, Splitter |
| Navigation | TabBar, Tab, FoldHeader, FoldButton, ExpandablePanel |
| Overlay | Modal, Tooltip, PopupMenu, PopupNotification |
| Media | Video, RotatedImage, ImageBlend, MultiImage |
| Layout | AdaptiveView, SlidePanel, PageFlip, SlidesView |
| Special | Markdown, Html, TextFlow, WebView, KeyboardView |
| Utility | LoadingSpinner, DesktopButton, LinkLabel, ScrollShadow |
Core Widgets Reference
| Widget | Purpose | Key Properties |
|--------|---------|----------------|
| View | Container | flow, align, show_bg, draw_bg, optimize |
| Button | Clickable | text, draw_bg, draw_text, draw_icon |
| Label | Text display | text, draw_text |
| Image | Image display | source, fit |
| TextInput | Text entry | text, draw_text, draw_cursor, draw_selection |
| CheckBox | Toggle | text, selected |
| RadioButton | Selection | text, selected |
| Slider | Value slider | min, max, step |
| DropDown | Select menu | labels, selected |
| PortalList | Virtual list | Efficient scrolling for large lists |
| Modal | Dialog | Overlay dialog boxes |
| Tooltip | Hint | Hover tooltips |
View Variants
| Variant | Description |
|---------|-------------|
| SolidView | Solid background color |
| RoundedView | Rounded corners |
| RoundedAllView | Individual corner control |
| RectView | Rectangle with border/gradient |
| CircleView | Circle/ellipse shape |
| GradientXView | Horizontal gradient |
| GradientYView | Vertical gradient |
| RoundedShadowView | Rounded with shadow |
| ScrollXView | Horizontal scroll |
| ScrollYView | Vertical scroll |
| ScrollXYView | Both directions scroll |
| CachedView | Texture-cached |
Button Variants
| Variant | Description |
|---------|-------------|
| ButtonFlat | Flat style |
| ButtonFlatIcon | Flat with icon |
| ButtonFlatter | No background |
| ButtonGradientX | Horizontal gradient |
| ButtonGradientY | Vertical gradient |
| ButtonIcon | Standard with icon |
ImageFit Values
| Value | Description |
|-------|-------------|
| Stretch | Stretch to fill |
| Contain | Fit within, preserve ratio |
| Cover | Cover area, may crop |
| Fill | Fill without ratio |
When Writing Code
- Always set
widthandheighton widgets - Use
show_bg: trueto enable background rendering - Access
draw_bg,draw_text,draw_iconfor shader uniforms - Use
dep("crate://self/...")for resource paths - Choose appropriate View variant for visual needs
When Answering Questions
- Recommend UI Zoo example for widget exploration
- View is the base container - most visual widgets inherit from it
- Draw shaders (
draw_bg,draw_text) control appearance - All widgets support animation through
animatorproperty
Limitations
- Use this skill only when the task clearly matches the scope described above.
- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.
想直接用这个技能?
本站把开放许可(MIT / Apache 等)的技能按仓库打包整理到网盘,点一下转存到你自己的网盘,不用一个个从 GitHub 拉。许可未声明的技能只给原始仓库链接,不打包。
它属于哪个仓库
plugins/agentic-awesome-skills/skills/makepad-widgets/SKILL.md同一个仓库里的其他技能
同名技能的其他版本
有 4 个不同仓库或目录里都有叫 makepad-widgets 的技能。它们内容并不相同,别混用:
- sickn33/agentic-awesome-skills — Version: makepad-widgets (dev branch) | Last Updated: 2026-01-19 > > Check for updates: ht
- sickn33/agentic-awesome-skills — Version: makepad-widgets (dev branch) | Last Updated: 2026-01-19 > > Check for updates: ht
- sickn33/agentic-awesome-skills — Version: makepad-widgets (dev branch) | Last Updated: 2026-01-19 > > Check for updates: ht