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

函数返回Qt::WindowFlags时报类型转换错误该如何解决

报错原因

Qt::Window和Qt::CustomizeWindowHint都属于Qt::WindowType枚举类的枚举值,C++原生规则下两个枚举值执行按位或运算后,默认返回的是unsigned int类型。而新版本Qt(尤其是Qt 5.15+及Qt6全版本)为了强化类型安全,取消了整型到Qt::WindowFlags(本质是QFlags<Qt::WindowType>类型别名)的隐式转换,因此会触发返回值类型不匹配的编译错误。

解决方法

有两种常用的修复方案,任选其一即可:

  • 方案1:显式将按位或的结果转换为Qt::WindowFlags类型
static inline Qt::WindowFlags windowFlags()
{
    return Qt::WindowFlags(Qt::Window | Qt::CustomizeWindowHint);
}
  • 方案2:基于空Qt::WindowFlags实例执行按位或运算,直接生成Qt::WindowFlags类型的返回值
static inline Qt::WindowFlags windowFlags()
{
    return Qt::WindowFlags() | Qt::Window | Qt::CustomizeWindowHint;
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 10:54:04