周良根 C++ / Qt Developer

Seeking opportunities

C++ / Qt 开发周良根 · 2027 届软件工程本科

两段 C++ / Qt 相关实习经历,分别参与国产工业 CFD 桌面客户端和工业检测设备上位机开发。具备从设备通信、多线程数据处理到 Qt 界面呈现的完整开发经验。
具备扎实的 C++/Qt 桌面开发能力熟练使用 Qt Widgets、信号槽及 Model/View/Delegate 架构,能独立完成界面搭建与逻辑开发。在西安数峰参与 CFD 软件前处理模块开发,在唯实兴邦负责 FPGA 焊点检测上位机,均有完整的功能交付记录。
熟悉工业通信与多线程数据采集熟悉掌握串口通信、Modbus 协议及 Qt 集成开发,在水产养殖项目中实现 13 项传感器每秒轮询,界面延迟控制在 200ms 内。设计 QQueue 请求调度机制,处理读写插队与去重,并实现 1s/2s/4s/30s 阶梯重连与设备状态管理。熟悉 OPC DA/UA、MQTT、西门子 S7,使用相关库完成过基础数据采集与写入 Demo。
适应工程化协作流程熟悉 Git 与 Gerrit 代码评审,在西安数峰累计修复 80 余个缺陷并通过测试验证。
能够使用 AI 工具提升开发效率熟悉 Codex、OpenCode、Hermes、Cursor、Qoder、Trae 等 AI 工具,能够将其用于代码阅读、方案验证、问题排查、测试用例补充和文档整理;保持对输出结果的自主判断,结合实际工程约束完成验证与落地。
周良根动漫头像 周良根证件照
周良根QT CLIENT · INDUSTRIAL SOFTWARE

01 / Experience

把工程问题,落到产品里。

经历覆盖工业仿真客户端、设备通信、实时监测和数据可视化,关注界面之外的数据一致性、链路稳定性与长期运行表现。

北京唯实兴邦科技有限公司

Qt 上位机开发

参与 FPGA/BGA 焊点间歇性故障检测设备上位机开发,服务现场工程师对 64 个焊点阻值变化、虚焊/短路/开路判断及历史异常记录的监测需求,优化采集稳定性和界面响应。

  • 多通道采集与界面解耦:参与 64 路焊点阻值实时监测开发,通过共享数据缓存分离底层寄存器批量读取与 UI 渲染;底层线程写入缓存,UI 定时批量刷新,不在采集线程直接更新界面。
  • QCustomPlot 高频刷新优化:实现实时趋势、时序状态和质量对比图;使用定时批量刷新、阈值线和数据点提示,降低高频重绘带来的卡顿,便于定位异常通道。
  • 阈值诊断与异常记录:实现虚焊、短路、开路的可配置阈值判断,联动状态颜色、弹窗提示和告警次数;通过 QFile 与 QTextStream 写入异常日志,支持后续按通道和时间追溯。
  • 交付结果:实现 64 路焊点阻值实时显示和异常识别,现场可通过颜色和图表直接定位异常通道;异常信息可记录追溯,界面长时间运行无频繁卡顿。
2023.09 — 2027.06 西安明德理工学院 · 软件工程本科 C++ / Qt Focus
水产养殖监控与控制系统实时数据界面

02 / 独立开发 · 2025.07—2025.10

水产养殖监控
与控制系统

面向水产养殖现场的十几个传感器及投喂、增氧、温控和水泵设备,基于 Qt Widgets 开发工业上位机,实现实时数据查看、远程控制、历史告警和通信不稳定时的自动恢复。

C++Qt WidgetsQModbusRtuSerialMaster Modbus SlaveQThreadQTimer QChartQSplineSeriesMySQL QSqlQueryQTableView
13 项传感器数据每秒轮询采集,采集线程不直接操作 UI
QQueue读请求 FIFO,写控制命令优先,重复读去重
1 / 2 / 4 / 30s断线重连阶梯重试,并维护四态通信模型
<200ms / 5s界面刷新延迟与设备异常检测告警结果
  • 将 QModbusRtuSerialMaster、QTimer 和请求处理封装到独立 QThread,定时轮询现场设备,每秒读取一次传感器数据。
  • 单条请求 3 秒超时、最多重试 3 次;根据连续超时次数切换 Online、Unstable、Error、Offline 四种状态,并以 1/3/10/30 秒探测周期恢复通信。
  • 使用 QChart 与 QSplineSeries 绘制多参数实时曲线,仅保留最近 100 个点作为滑动窗口,QTimer 每秒刷新一次。
  • 通过 Modbus 保持寄存器控制投喂机、温控、增氧和水泵;支持阈值配置与本地告警,控制失败时界面保留上一次成功状态。
  • 使用 QSqlQuery 操作 MySQL,持久化运行数据和异常日志,支持按时间段和异常类型查询历史记录;全程通过 Modbus Slave 模拟器完成验证。
观看项目演示

03 / 独立开发 · 2025.02—2025.05

B站客户端
与聊天通信

基于 Qt 6 开发集视频浏览播放与好友通信于一体的桌面客户端,实现视频推荐、播放、好友会话、文本/图片/文件传输和历史消息恢复,重点解决复杂列表渲染、布局动画、TCP 拆包与多线程隔离问题。

C++Qt 6.5.3 WidgetsQt Model/View/Delegate Qt MultimediaQPropertyAnimation QNetworkAccessManagerQTcpSocket QThreadMySQL
  • 基于 Qt Model/View/Delegate 架构,使用 QStandardItemModel、QListView 和 QStyledItemDelegate 构建视频、好友及聊天列表;重写 paint()、sizeHint() 与 editorEvent(),实现视频卡片、好友项及文本/图片/文件聊天气泡的自定义绘制与交互。
  • 使用 Q_PROPERTY 与 QPropertyAnimation 驱动卡片伸缩属性,并联动 QHBoxLayout::setStretch() 实现悬停卡片放大及同行卡片自适应收缩,避免直接修改尺寸造成布局跳变。
  • 基于 QMediaPlayer、QVideoWidget、QAudioOutput 实现视频播放,支持进度拖拽、音量调节、0.5x~2.0x 倍速播放、单集循环和列表循环。
  • 使用 QNetworkAccessManager 异步请求视频推荐数据、封面和播放地址,在 finished 信号中解析 JSON 并更新数据模型,实现非阻塞界面更新。
  • 将持有 QTcpSocket 的 Worker 对象迁移至独立 QThread;设计 10 字节固定帧头和累计接收缓冲区,处理 TCP 粘包、半包及多帧连续到达,并按消息类型解析分发文本、图片和文件。
  • 将文件按 1KB 分片发送,接收端依据文件头记录的总长度完成数据重组;使用 QSqlQuery 加载 MySQL 中的用户、好友及历史消息数据,并为不同好友维护独立聊天模型和会话页面。
  • 交付结果:完成视频浏览播放、好友会话及文本/图片/文件传输等功能;TCP 粘包、半包处理和 1KB 分片重组已在自测中稳定工作。
观看项目演示

04 / Capabilities

技术能力与持续验证

以桌面与工业软件开发的完整链路组织能力,而不是孤立堆叠关键词。

核心技术能力
C++ 基础

面向对象、STL 常用容器,以及栈、队列、链表、双指针、滑动窗口和二分等常见算法。

Qt 客户端

Qt Widgets、信号槽、事件机制、Model/View、QStyledItemDelegate、自定义控件、QSS、QChart。

并发通信

QThread 与 UI 解耦、TCP/UDP Socket、HTTP/JSON、QNetworkAccessManager、串口通信。

工业协议

Modbus RTU/TCP、S7、OPC DA/UA、MQTT,以及设备采集、控制和状态监测。

数据工程

MySQL、SQLite、日志持久化与查询展示;熟悉 Git、CMake 与常用调试工具。

竞赛与语言能力
01团体程序设计天梯赛铜牌
02蓝桥杯 C/C++ 程序设计 B 组省二等奖
03传智杯程序设计大赛国优
04睿抗机器人编程技能赛项省三等奖
05日本语能力测试JLPT N2

05 / Contact

一起把复杂需求,做成可靠产品。

正在寻找 C++ / Qt 开发机会,期待参与有真实工程深度的桌面软件或工业软件项目。

AVAILABLE FOR C++ / QT OPPORTUNITIES
XI'AN · CHINA

01 / 06 · HOME