声明式接口,保留式内核
以不可变 View 描述界面,由框架协调新旧组件树。稳定的 Key 保留焦点、编辑与交互状态,业务数据始终由应用掌握。
理解视图与状态
以不可变 View 描述界面,由框架协调新旧组件树。稳定的 Key 保留焦点、编辑与交互状态,业务数据始终由应用掌握。
理解视图与状态
多个窗口共用事件循环,分别维护视图与交互状态,按需更新各自界面。空闲时不持续重绘。区分布局与绘制变化,颜色等视觉更新无需重新测量布局。
了解运行与性能行为
使用 CGO_ENABLED=0 构建框架与应用,沿用 Go 的模块管理和编译流程,为不同桌面平台构建应用产物。
查看构建与平台要求
用具体 Go 类型配置布局、样式和交互状态。Primitive、Semantic、Component 三层 Token 支持统一定制,主题校验后原子替换。
探索样式与主题
固定行高 VirtualList 只挂载可见区域与预留行,支持稳定业务键和滚动锚定,让大数据列表的视图规模保持可控。
使用虚拟列表
提供 2,066 个官方图标名称与别名,支持主题着色和描边宽度配置。直接引用所需构造器,未使用的图标可由 Go 链接器移除。
使用图标资源
从这里开始
组件组合、应用生命周期与事件回调,统一在类型明确的 Go API 中。下面的完整程序展示了一个窗口从构建到关闭的基本流程。
package main
import (
"github.com/dxui-org/dxui"
"log"
)
func main() {
app := dxui.NewApp(dxui.AppOptions{
Background: dxui.RGBA(248, 250, 252, 255),
Title: "Hello dxui",
Width: 640,
Height: 400,
})
if err := app.Run(func() dxui.View {
return dxui.Box(
dxui.BoxProps{
Gap: 16,
Style: dxui.Style{
Padding: dxui.Padding(24),
},
},
dxui.Label("Hello, dxui!"),
dxui.TextButton(dxui.ButtonProps{
OnPress: app.Close,
}, "Close"),
)
}); err != nil {
log.Fatal(err)
}
}按你的进度阅读
常用入口
© 2026 DXUI · MIT