【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 语法错误表

相关推荐
zhanghaha131413 小时前
Qt 中的类是什么?保姆级详解(新手版)
qt
看看我呀看看我14 小时前
基于Qt的虚拟键盘
c++·qt·qt5·qt6.3
kaixin_learn_qt_ing15 小时前
Qt抽屉窗体实现demo
开发语言·qt
huanbailu19 小时前
Qt 跨线程信号槽:connect 返回 true 但槽函数不执行的坑
开发语言·c++·qt·信号槽·跨线程·元类型
Quz1 天前
QML SplitView:可拖拽分隔面板与自定义 Handle
qt
Quz1 天前
QML SplitView 进阶:嵌套布局与状态持久化
qt
时间的拾荒人1 天前
Qt 显示类控件详解:从 QLabel 到 QCalendarWidget 的实战指南
开发语言·qt·面试
kaixin_learn_qt_ing1 天前
Qt插件机制demo示例
qt
Quz1 天前
QML Flickable:内容滚动与边界行为
qt
Quz1 天前
QML Flipable:卡片翻转与登录设置
qt