文档总览

这里是 StellarX 文档的总入口,你可以在这里快速了解框架定位、运行环境,以及前往快速开始、API 指南和更新日志等页面

简介

StellarX 是一个运行在 Windows 平台上的 C++ 原生 GUI 框架基于 EasyX 与 Win32 实现
结构清晰、源码易读
上手门槛低,适合教学与自学
能够支撑各类小工具、可视化和中小型桌面应用
项目最初诞生于社团教学和比赛实践,希望用尽量简单的方式,让刚学完 C++ 的同学也能快速迈进 GUI 和桌面开发的世界。


StellarX 在设计时重点考虑了这几件事:

教学友好
代码刻意保持“能看懂、敢修改”的风格,适合作为课程示例、社团讲解和自学入门材料。
轻量 & 原生
基于 EasyX + Win32 API,不依赖体积庞大、概念复杂的跨平台框架,更专注在 Windows 上把基础打扎实。
小型桌面应用可用
不只是 Demo。通过窗口管理、容器控件、自适应布局等能力,可以承载日常小工具、可视化工具、竞赛辅助程序等。
开源 & 易阅读
源码完全开放,配有较多注释,方便你一边用框架,一边学习 GUI 框架设计和代码组织方式。


StellarX 更适合这些场景:

🎓 C++ 图形化入门 / 课程设计 / 毕设演示

🧪 算法题 / 比赛项目的可视化与小工具

🧰 个人日常使用的中小型桌面程序

🏫 社团、实验课的 GUI 教学示例

如果你已经在熟练使用 Qt / MFC 等庞大框架,StellarX 更像是一块“轻便、可读性强”的教学与实验场。


运行环境与依赖:

操作系统:Windows 10 / Windows 11
开发语言:C++
编译器:推荐 MSVC(Visual Studio 2019 / 2022)
图形库依赖:EasyX
窗口系统:Win32 API

具体环境配置与工程创建步骤,请参考本站的「快速开始」页面。


如果你第一次接触 StellarX,推荐按照下面的顺序:

  • 安装 Visual Studio 2019/2022
  • 配好 EasyX(如有需要)
  • 从 GitHub Release 下载压缩包,或
  • 使用 git clone 克隆仓库
  • 配置 IncludeLibrary 目录
  • 链接对应的静态库文件
  • 按照「快速开始」中的示例代码,创建一个简单窗口与按钮
  • 编译运行,确认环境配置无误

详细图文步骤与完整示例代码,请访问本站的 「快速开始」 页面。


StellarX 目前主要包含以下几个模块(仅为概览,详细说明见「API / 使用指南」):

6.1 核心模块

Window
窗口类,负责创建 Win32 窗口、处理消息循环、管理顶层控件与容器。
Canvas / 容器类
可承载子控件的容器,负责背景绘制、子控件布局以及坐标转换等。
Control(控件基类)
所有控件的抽象基类,统一管理:位置、大小、可见性、重绘标记(dirty)、事件分发等。

6.2 常用控件

Button —— 按钮,支持普通模式、开关模式,以及点击事件回调
Label —— 文本标签,用于展示说明文字、状态等
Table —— 表格控件,用于展示结构化数据,支持分页、列宽调整等
TabControl —— 选项卡控件,用于在一个窗口中承载多个页面
Dialog —— 模态 / 非模态对话框,用于消息提示、确认框等

(更多控件与示例会在后续版本中持续补充。)

6.3 布局与自适应

基于 锚点(Anchor) 的自适应布局机制
支持控件随父容器 / 窗口尺寸变化自动调整位置与大小
内部统一使用“父子容器 + 相对坐标”的方式进行布局计算

6.4 渲染与性能

使用背景快照 / dirty 标记减少不必要重绘
通过统一重绘入口,避免窗口拉伸时出现严重残影与错乱
针对常见控件进行了简单的绘制优化

每个模块的详细说明、示例代码与注意事项,均可在「API / 使用指南」页面中找到对应章节。


目前公开的 StellarX 版本可以理解为 Basic 版

  • 定位为 教学级 / 工具级
  • 注重代码可读性与易上手,适合入门与小型项目

在此基础上,作者正在规划一个 StellarX Pro 进阶版(同样开源):

  • 更偏向中小型桌面应用场景
  • 将尝试提供更多控件、更完善的布局与主题系统
  • 更贴近日常项目的工程化体验(示例项目、配置、打包支持等)

Pro 目前仍处于构思与实验阶段,功能与时间安排不构成任何承诺,不会影响当前 Basic 版的持续维护。


状态与使用建议

当前状态:持续开发中,核心功能已可用于个人小工具、教学示例与实验项目
稳定性:在主要 Demo 与常规使用场景下已经较为稳定,但仍可能存在边角 BUG
使用建议: 非关键业务 / 教学 / 个人项目:可以放心尝试
对稳定性要求极高的生产环境:暂不建议直接作为唯一 GUI 方案使用

项目采用 MIT License 开源协议,你可以在遵守协议的前提下自由学习、使用与修改代码。


如果你在使用 StellarX 的过程中遇到问题,或有新特性、性能优化方面的想法,欢迎通过以下方式反馈:

反馈与参与

在 GitHub 仓库提交 Issue
提交 PR 修复 Bug 或补充文档 / Demo
分享你使用 StellarX 写的小工具或课程作品
作者会尽量阅读并回复反馈,也会将典型问题与改进方案整理到文档与更新日志中。
邮箱:
ysm3150131407@gmail.com
Q/V
3150131407


GitHub 仓库
最新 Release 下载 & 更新日志
快速开始
API / 使用指南
示例 Demo