SuperAPI AI 工具集

gtkx

编程与开发

查看项目

更新于 10-15 23:47

技能介绍

用途:GTKX 让开发者用 React JSX 编写 GTK4 桌面应用,组件经 FFI 桥接渲染为 Linux 原生 GTK4/GLib 控件,链路为 @gtkx/react → FFI bridge → GTK4/GLib。适合创建 Adwaita 控件、以 CSS-in-JS 为 GTK 设置样式等场景。

主要能力:提供受控输入、复合组件(插槽)与 CSS-in-JS 样式。受控输入需显式双向绑定,例如 <GtkEntry text={text} onChanged={(e) => setText(e.getText())} />;GtkSwitch 需在 onStateSet 返回 true 才接受变更。复合组件用于子元素定位,由 GIR 自动生成,常见有 AddTopBar/AddBottomBar(ToolbarView)、PackStart/PackEnd(HeaderBar/ActionBar)、StartChild/EndChild(Paned/Flap)。样式可用 @gtkx/css 的 css 模板配合 cssClasses 传入。

使用方式:用 npx @gtkx/cli@latest create my-app 创建项目,随后可运行 npm run dev、npm run build、npm test(vitest + Xvfb)。脚手架生成 src/app.tsx、src/dev.tsx(HMR)、src/index.tsx,入口调用 render(<App />, pkg.gtkx.appId)。

限制:GTK 为单线程,所有控件操作须在主线程;虚拟列表项须为稳定对象(不可变数据模式);关闭应用使用 @gtkx/react 的 quit;异步 GTK 使用 Promise 方法,失败时捕获 NativeError。更多控件目录、教程、FFI 绑定、样式、门户、测试与部署见 references/。收费、价格与平台支持等细节暂未提供。