You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Qt6.2编译QSimpleScada提示QTextStream无setCodec成员报错如何解决

问题根因

你遇到的编译错误是QSimpleScada库本身未适配Qt6导致的,该库及官方示例都是基于Qt5开发,Qt6对部分核心API做了不兼容调整,所以直接用Qt6编译会报错。

解决思路

方案一:更换编译套件(最省事,无代码修改)

直接切换到Qt 5.15.x版本的MinGW 64位编译套件重新构建项目即可,不需要修改任何库代码或项目配置,就能正常编译运行官方示例。

方案二:适配Qt6(需修改库源码,适合必须用Qt6的场景)

按报错信息逐个修改QSimpleScada库的源码即可:

  1. 解决QTextStream没有setCodec成员错误:
    Qt6中QTextStream默认使用UTF-8编码,直接删除qscadaboardcontroller.cpp里第264行、第315行的setCodec("UTF-8")调用即可;如果需要保留编码声明,也可以替换为setEncoding(QStringConverter::Utf8)。
  2. 解决QMouseEvent不完整类型错误:
    Qt6的QWidget头文件不再默认引入QMouseEvent声明,直接在qscadaboard.cpp的头部添加#include <QMouseEvent>即可。

内容的提问来源于stack exchange,提问作者Gameriker

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 04:06:02