Qt中 JavaScript代码的中文支持有关问题
Qt中 JavaScript代码的中文支持问题
在Qt 中,要用JavaScript 来控制一个ui界面里的相关控件,遇到了中文支持的问题。
现在有一段代码,全是英文的话,能够正常运行,代码如下:
function titleBtnClicked()
{
titleBtn = fenleiUI.findChild("titleBtn");
if(titleBtn.text == "fenleiRealtime")
{
titleBtn.text = "fenleiMonth";
fenleiUI.findChild("plotStackWgt").setCurrentIndex(1);
return;
}
if(titleBtn.text == "fenleiMonth")
{
titleBtn.text = "fenleiRealtime";
fenleiUI.findChild("plotStackWgt").setCurrentIndex(0);
}
}
fenleiUI.findChild("titleBtn").clicked.connect(titleBtnClicked);
但是将相关的字符串换成中文,则点击按钮没有我想要的变化,代码如下:
function titleBtnClicked()
{
titleBtn = fenleiUI.findChild("titleBtn");
var str = titleBtn.text;
if(titleBtn.text == "分类能耗实时曲线")
{
titleBtn.text = "分类能耗月曲线";
fenleiUI.findChild("plotStackWgt").setCurrentIndex(1);
return;
}
if(titleBtn.text == "分类能耗月曲线")
{
titleBtn.text = "分类能耗实时曲线";
fenleiUI.findChild("plotStackWgt").setCurrentIndex(0);
}
}
fenleiUI.findChild("titleBtn").clicked.connect(titleBtnClicked);
代码是用Qt creator编辑的,在编辑页面下中文能正常显示。
我故意在js代码中添加一个错误,运行代码,在随后弹出的Qt Script Debugger window中 显示的中文字符串是乱码,如下图:
请问各位大神,该问题如何解决?
------解决思路----------------------
JS文件编码格式调整为不带BOM的UTF8
在Qt 中,要用JavaScript 来控制一个ui界面里的相关控件,遇到了中文支持的问题。
现在有一段代码,全是英文的话,能够正常运行,代码如下:
function titleBtnClicked()
{
titleBtn = fenleiUI.findChild("titleBtn");
if(titleBtn.text == "fenleiRealtime")
{
titleBtn.text = "fenleiMonth";
fenleiUI.findChild("plotStackWgt").setCurrentIndex(1);
return;
}
if(titleBtn.text == "fenleiMonth")
{
titleBtn.text = "fenleiRealtime";
fenleiUI.findChild("plotStackWgt").setCurrentIndex(0);
}
}
fenleiUI.findChild("titleBtn").clicked.connect(titleBtnClicked);
但是将相关的字符串换成中文,则点击按钮没有我想要的变化,代码如下:
function titleBtnClicked()
{
titleBtn = fenleiUI.findChild("titleBtn");
var str = titleBtn.text;
if(titleBtn.text == "分类能耗实时曲线")
{
titleBtn.text = "分类能耗月曲线";
fenleiUI.findChild("plotStackWgt").setCurrentIndex(1);
return;
}
if(titleBtn.text == "分类能耗月曲线")
{
titleBtn.text = "分类能耗实时曲线";
fenleiUI.findChild("plotStackWgt").setCurrentIndex(0);
}
}
fenleiUI.findChild("titleBtn").clicked.connect(titleBtnClicked);
代码是用Qt creator编辑的,在编辑页面下中文能正常显示。
我故意在js代码中添加一个错误,运行代码,在随后弹出的Qt Script Debugger window中 显示的中文字符串是乱码,如下图:
请问各位大神,该问题如何解决?
------解决思路----------------------
JS文件编码格式调整为不带BOM的UTF8