【QML】警告Name is declared more than once

1. 问题:

qml函数中的不同块中定义同名变量,报警:Name is declared more than once

举例:

c 复制代码
function test(a){
	if(a === "1"){
		var re = 1;
		console.log(re);
	}else{
		var re = 2;	//这里会报警:Name is declared more than once
		console.log(re);
	}
}

2. 原因:

  • qml与C++不同。
  • qml在函数中声明的变量在函数中的任何地方都是可见的,即使在嵌套块或语句条件中声明也是如此。重新声明变量没有效果。

参考:

Qt:QML:JavaScript 和QML 语法错误表

相关推荐
charlie1145141918 小时前
现代Qt开发教程(新手篇)1.10——进程
开发语言·c++·qt·学习
小短腿的代码世界8 小时前
Qt量化策略编辑器深度解析:从DSL解析到可视化编排的完整架构
qt·架构·编辑器
十五年专注C++开发8 小时前
Qt实现带多选功能的组合复选框
开发语言·c++·qt·qcombobox
柳鲲鹏9 小时前
QT:正确延时调用,Cannot create children for a parent that is in a different thread.
服务器·数据库·qt
(Charon)9 小时前
【C++/Qt】Qt 实现 WebSocket 测试工具:连接、消息收发与通信日志
c++·qt·websocket
十五年专注C++开发9 小时前
CMake基础: Qt之qt5_wrap_ui
开发语言·c++·qt·ui
(Charon)9 小时前
【C++/Qt】Qt 实现 HTTP 测试工具:从请求构思到 GET/POST 实现
c++·qt·http
jf加菲猫9 小时前
第16章 容器类
开发语言·c++·qt·ui
人道领域9 小时前
从零实现一个轻量级 RPC 框架:通信协议与动态代理的核心原理
开发语言·网络·qt
rrr29 小时前
【PyQt5】| 多线程设计模式
开发语言·qt·设计模式