Rust-GUI图形库:Iced 计数器项目完整搭建教程(1)
一、前置环境准备官网下载安装https://www.rust-lang.org/tools/install rustc 1.96.1 (31fca3adb 2026-06-26)二、创建项目Windows 打开 PowerShell / Linux/macOS 终端执行1. 创建二进制项目# 创建名为 iced_counter 的项目 cargo new iced_counter # 进入项目目录 cd iced_counter项目目录iced_counter/ ├── Cargo.toml # 项目配置、依赖管理 ├── Cargo.lock # 依赖版本锁定文件自动生成无需修改 ├── src/ │ └── main.rs # 全部业务代码窗口、逻辑、UI └── target/ # 编译产物目录自动生成 ├── debug/ # cargo run 开发编译文件 └── release/ # --release 发布成品程序2. 添加 Iced 依赖修改 Cargo.toml[package] name iced_counter version 0.1.0 edition 2021 # 依赖 Iced GUI 框架使用最新稳定版 [dependencies] iced 0.14说明iced 0.14会自动引入窗口、组件、渲染全套功能无需额外细分依赖。三、完整 src/main.rs整理带注释代码直接覆盖自动生成的src/main.rs// 导入Iced界面组件按钮、文本、通用UI元素 use iced::widget::{button, text}; use iced::Element; /// 程序入口函数 /// Iced框架标准签名返回运行结果处理窗口异常 pub fn main() - iced::Result { // 启动GUI应用 // 参数1update 状态更新函数 // 参数2view 界面渲染函数 // Iced自动初始化状态为 0自动维护消息循环、窗口重绘 iced::run(update, view) } /// 交互消息枚举 /// 用户所有界面操作都会转化为对应Message统一交给update处理 #[derive(Debug, Clone)] enum Message { // 按钮点击计数器自增事件 Increment, } /// 状态更新逻辑 /// 根据收到的消息修改全局状态 /// counter可变引用程序唯一状态计数器数字 /// message界面触发的交互消息 fn update(counter: mut u64, message: Message) { match message { // 收到自增消息数值 1 Message::Increment *counter 1, } } /// 界面渲染函数 /// 根据当前状态生成UI界面状态变化会自动重新调用渲染 fn view(counter: u64) - Element_, Message { // 构建按钮组件 // text(counter)按钮内部显示当前计数值 // on_press绑定点击事件点击发送 Increment 消息 // into()将按钮转为通用根UI元素返回 button(text(counter)) .on_press(Message::Increment) .into() }四、运行项目1. 开发模式运行热编译、带日志cargo run首次运行会下载编译 Iced 及其底层图形依赖等待几分钟。 运行成功会弹出窗口一个显示数字的按钮点击数字持续 1。2. 运行窗口