给大家推荐一个京东的智能编码工具JoyCode,免费试用,全方位提升开发效率,可以使用MinMax2.7/Kimi2.6/GLM5.1大模型,演示快速开发一个wxWidgets的计算器工具
·
关于 JoyCode
什么是JoyCode:
JoyCode IDE 是一款专为攻克企业级复杂任务而设计的智能编码工具。 上下文引擎实现对代码仓库的深度解析与理解,规约编程助力业务需求精准理解,保障交付效果。开放的AI资源生态、多智能体协同助您驾驭企业复杂的业务场景。
下载地址:
https://joycode.jd.com/download/
使用说明文档:
https://joycode.jd.com/docs/start/intro
直接使用手机注册即可
注册后获得免费的试用,可以使用主流大模型:
使用通过提示词创建程序
使用wxWidgets组件C++ 语言开发,实现基础四则运算、平方、开方功能的计算器程序。
切换GLM5.1模型,速度快效果好:

然后工具就会自动拆分任务执行:
点击接受后,就会继续开始写代码:

还可以输出说明文档:

wxCalculator - 跨平台图形界面计算器
基于 wxWidgets 框架开发的 C++ 桌面计算器应用程序,支持基本四则运算及常用数学函数。
功能特性
- 四则运算:加(+)、减(-)、乘(×)、除(÷)
- 数学函数:平方(x²)、平方根(√x)、正负取反(±)
- 编辑操作:退格(⌫)、清除(C)、清除当前输入(CE)
- 小数支持:支持浮点数输入与运算
- 错误处理:除零错误及负数开方错误提示
- 跨平台:支持 Windows、macOS、Linux
技术栈
| 项目 | 技术 |
|---|---|
| 语言 | C++17 |
| GUI 框架 | wxWidgets |
| 构建系统 | CMake (≥ 3.10) |
| 编译器要求 | 支持 C++17 标准的编译器 |
项目结构
.
├── CMakeLists.txt # CMake 构建配置
├── src/
│ ├── main.cpp # 应用程序入口,定义 CalculatorApp
│ ├── CalculatorFrame.h # 计算器主窗口类声明
│ └── CalculatorFrame.cpp # 计算器主窗口类实现
└── README.md
部分代码展示:
void CalculatorFrame::CreateControls() {
wxPanel* panel = new wxPanel(this);
wxBoxSizer* mainSizer = new wxBoxSizer(wxVERTICAL);
// Display
m_display = new wxTextCtrl(panel, wxID_ANY, "0", wxDefaultPosition,
wxDefaultSize, wxTE_RIGHT | wxTE_READONLY);
wxFont displayFont(18, wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_BOLD);
m_display->SetFont(displayFont);
m_display->SetMinSize(wxSize(-1, 50));
mainSizer->Add(m_display, 0, wxEXPAND | wxALL, 8);
// Button grid
wxGridSizer* grid = new wxGridSizer(6, 4, 4, 4);
// Row 1: C, CE, Backspace, ÷
grid->Add(new wxButton(panel, ID_CLEAR, "C"), 1, wxEXPAND);
grid->Add(new wxButton(panel, ID_CLEAR_ENTRY, "CE"), 1, wxEXPAND);
grid->Add(new wxButton(panel, ID_BACKSPACE, "⌫"), 1, wxEXPAND);
grid->Add(new wxButton(panel, ID_DIVIDE, "÷"), 1, wxEXPAND);
....
void CalculatorFrame::OnOperator(wxCommandEvent& event) {
double operand = 0;
m_display->GetValue().ToDouble(&operand);
if (!m_operator.IsEmpty() && !m_waitingForOperand) {
m_currentValue = operand;
Calculate();
UpdateDisplay();
} else {
m_storedValue = operand;
}
switch (event.GetId()) {
case ID_ADD: m_operator = "+"; break;
case ID_SUBTRACT: m_operator = "-"; break;
case ID_MULTIPLY: m_operator = "×"; break;
case ID_DIVIDE: m_operator = "÷"; break;
}
m_waitingForOperand = true;
}
构建与运行
前置依赖
- CMake ≥ 3.10
- C++17 编译器(GCC ≥ 7 / Clang ≥ 5 / MSVC ≥ 2017)
- wxWidgets ≥ 3.0(需安装
core和base组件)
安装 wxWidgets
-
macOS(Homebrew):
brew install wxwidgets -
Ubuntu/Debian:
sudo apt install libwxgtk3-dev -
Windows(vcpkg):
vcpkg install wxwidgets
编译步骤
# 克隆项目
git clone <repository-url>
cd calculator
# 配置构建
cmake -B build
# 编译
cmake --build build
# 运行
./build/calculator # Linux/macOS
.\build\calculator.exe # Windows
macOS 备注
项目通过 MACOSX_BUNDLE 标记配置为 macOS 应用包,编译后可直接作为 .app 运行。
界面布局
┌─────────────────────────────┐
│ 0 │ ← 显示屏
├──────┬──────┬──────┬───────┤
│ C │ CE │ ⌫ │ ÷ │
├──────┼──────┼──────┼───────┤
│ x² │ √x │ ± │ × │
├──────┼──────┼──────┼───────┤
│ 7 │ 8 │ 9 │ - │
├──────┼──────┼──────┼───────┤
│ 4 │ 5 │ 6 │ + │
├──────┼──────┼──────┼───────┤
│ 1 │ 2 │ 3 │ = │
├──────┼──────┼──────┼───────┤
│ 0 │ . │ │ │
└──────┴──────┴──────┴───────┘
最后展示效果:

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐
所有评论(0)