专为 ESP32-S3 · Qt 风格 C++ 框架

Qt 的方式
开发 ESP32-S3

JZFramwork 为 ESP32-S3 带来熟悉的 Qt 对象模型——信号槽、对象树与事件循环,让你用 C++ 高效、优雅地构建物联网设备。

双核
Xtensa LX7
<30KB
最小 RAM 占用
100%
Qt 风格 API
main.cpp — JZFramwork
#include <jzf/jzf.h>

class SmartButton : public JObject {
    J_OBJECT(SmartButton)
public:
    J_SIGNAL(clicked);            // 声明信号

    void press() { emit clicked(); }

    J_SLOT void onNet(bool ok) {
        led.set(ok ? ON : OFF);
    }
};

int main() {
    JApp app;
    JWiFi wifi;  SmartButton btn(GPIO_NUM_0);
    JLed led(GPIO_NUM_2);

    connect(&btn, &SmartButton::clicked,
            &wifi, &JWiFi::connect);
    connect(&wifi, &JWiFi::connected,
            &led,  &JLed::on);

    return app.exec();     // 事件循环
}
Core Features

像写 Qt 一样写嵌入式

🔗

信号槽机制

熟悉的 connect / emit,组件间彻底解耦,逻辑清晰可维护。

🌳

对象树

父子关系自动管理生命周期,离开作用域即释放,告别内存泄漏。

📡

专注 ESP32-S3

深度适配双核 Xtensa、WiFi/BLE、LCD/CAM 与 USB,开箱即用。

🧭

元对象系统

J_OBJECT / J_SIGNAL / J_SLOT 宏带来运行时内省与属性绑定。

Quick Start

三步点亮 ESP32-S3

1

安装工具

pip 安装 jzf-cli,自动配置 ESP-IDF 工具链。

2

创建工程

指定 --chip esp32s3,生成 Qt 风格工程骨架。

3

编译烧录

jzf build & flash,设备上电即运行事件循环。

bash — jzf
$ pip install jzf-cli
✓ jzf 2.6.0 installed

$ jzf init device --chip esp32s3
✓ project ready (Qt-style)

$ jzf build && jzf flash
  compiling hal/esp32s3 ...
✓ flashed · app.exec() running 🚀

开始用 Qt 的风格开发 ESP32-S3

免费获取 JZFramwork SDK、文档与示例。