控件风格包(外观皮肤)
exe 旁 styles 目录、文件夹命名、pack.json 与各控件固定文件名。
风格包就是一套控件「皮」:滑动条、开关、按钮等默认图。软件扫描 RUI_Studio.exe 同级的 styles/,以及当前工程里的 styles/。这个目录 不会编进安装包资源,拷贝软件时要连 styles 一起带上。
两种包
| 类型 | 你看到的 | 用法 |
|---|---|---|
| 明文自建 | styles/某包名/ 文件夹 | 自己做皮、改图最方便 |
| 加密发行 | 某包名.rui.style 文件 | 由官方制作;用户 设置 → 管理风格包 导入。另存工程时整包进工程 styles/,不把皮拆进 image/ |
扫描大致顺序:当前工程加密包 → 本机已导入包 → exe 旁加密包 → 工程明文文件夹 → exe 旁明文文件夹。同名 packId 时,工程里的优先。
出厂样例一般是 styles/default_pack/。
明文目录怎么建
styles/
my_pack/ ← 文件夹名建议与 packId 相同
pack.json ← 必需
slider/
progressbar/
switch/
checkbox/
button/
radiobutton/
textinput/
不必每种控件都做。只放你需要的子目录即可。图格式:.png / .jpg / .jpeg / .bmp。
名称要求
- packId、文件夹名:英文小写、数字、下划线,例如
default_pack、user_pack。不要用空格和中文当文件夹名。 - 子目录名必须用上表英文(
slider、switch等),不能改成「滑动条」。 - 图文件名按下表固定(不要扩展名以外的后缀乱加)。扩展名任选一种支持的格式。
pack.json
每个明文包根目录放一份,例如:
{
"packId": "my_pack",
"displayName": "我的风格",
"version": "1.0",
"widgets": [ "slider", "progressbar", "switch", "checkbox", "button", "textinput" ]
}
| 字段 | 含义 |
|---|---|
packId | 内部编号,须与文件夹名一致 |
displayName | 放置控件时下拉里显示的名字 |
version | 版本字串,给自己看 |
widgets | 本包包含哪些控件。只写你实际做了子目录的项 |
widgets 里出现、磁盘上却没有对应文件夹或必需图时,该控件选这套皮会失败或回退默认包。
各控件固定文件名
滑动条 slider/
| 文件(无扩展名) | 是否必需 |
|---|---|
track1 | 是(主体图1;旧名 track 仍可用) |
track2 | 否(双轨主体图2) |
thumb | 否(无滑块时可用双轨) |
thumb_pressed | 否(按下态滑块) |
进度条 progressbar/
| 文件 | 是否必需 |
|---|---|
track1 | 是 |
track2 | 否 |
进度条没有滑块图。
开关 switch/
| 文件 | 是否必需 |
|---|---|
frame_1(关)、frame_5(开) | 是 |
frame_2 ~ frame_4 | 否(过渡帧) |
frame_0 | 否(无效态) |
注意开关用 下划线:frame_1,不要写成 frame1。
复选框 checkbox/
| 文件 | 是否必需 |
|---|---|
frame1 未选、frame2 已选 | 是 |
frame3 半选 | 否 |
frame1_disabled 等三态禁用 | 否 |
frame1_pressed 等三态按下 | 否 |
这里是 frame1 无下划线。
九态按钮 button/
未激活 / 激活 / 告警 × 正常 / 禁用 / 按下,文件名与复选框同一套:frame1~frame3 及 _disabled、_pressed。
单选框 radiobutton/
未选 / 已选 × 正常 / 禁用 / 按下(六张,没有半选 frame3)。文件名同样是 frame1、frame2 加 _disabled / _pressed。
文本输入框 textinput/
| 文件 | 是否必需 |
|---|---|
frame1 正常 | 是 |
frame1_disabled | 否 |
frame1_pressed | 否 |
在软件里怎么用
- 把包放到 exe 旁或工程旁的
styles/。 - 工具栏放置对应控件,在风格下拉里选
displayName。 - 加密包由官方提供,在 设置 → 管理风格包 中导入。明文包只要目录和
pack.json正确就会出现,无需导入。

- 另存工程:明文皮用到的图可进工程
image/;加密包则复制.rui.style到工程styles/。
没有可用风格时,软件会回退 default_pack。
加密包
加密包(.rui.style)由官方制作并发行。用户拿到文件后,在软件里打开 设置 → 管理风格包 导入即可。导入后放置控件时可在风格下拉里选用。
自己做皮只用明文:把 styles/<packId>/ 和 pack.json 按上文做好即可,不必制作加密包。