在学习QT的ActiveX控件时,出现了如下同类的问题,本以为错误与ActiveX代码相关,在中文网上大片搜索后依然无果,并没有找到相关解释,后来重新阅读代码才发现是QT自带的宏定义QStringLiteral使用不规范的问题。
上图中出现的QStringLiteral代码即为错误所在
QStringLiteral("=3"+str1) //错误X
QStringLiteral括号内的正确数据类型为字符串常量,即"xxxxx"
所以要想实现代码块的正确写法应该是
QStringLiteral("=3")+str1 //str1为QString指针变量,以此实现拼接