qt lupdate不识别tr包裹的字符串

飞天小鲸鱼 2020-03-12 12:00:17
我已经在.pro里加了.ts文件,而且使用tr函数的类都有Q_OBJECT,但是函数里字符串就是无法被提取出来,只能提取ui控件的字符串
看到一个说法是要保证.h文件和.cpp文件的编码一致?但是我都是UTF-8编码,这到底该怎么解决?
这个是.ts文件,我测试的窗口里有保存文件readme按钮
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="zh_CN">
<context>
<name>MainWindow</name>
<message>
<location filename="mainwindow.ui" line="14"/>
<source>MainWindow</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.ui" line="27"/>
<source>保存文件</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.ui" line="40"/>
<source>ReadMe</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS>

但是实际上在函数里写了这段

我都不知道为啥识别不出来tr,为啥啊!
...全文
1238 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
飞天小鲸鱼 2020-04-14
  • 打赏
  • 举报
回复


引用 4 楼 taitanyt 的回复:
你这个用法莫名其妙,tr是静态函数,你这个test要赋值给谁用啊,另外tr是qobject的成员函数,而mainfrm是从qobject继承来的,直接用tr就可,这这个搞法就涉及到test的翻译归属问题

qstring a=tr("test!"); 就可

呃,其实最后是公司加密软件的问题,跟我的写法没关系,之前忘记回来结贴了,谢谢哈
taitanyt 2020-04-14
  • 打赏
  • 举报
回复
你这个用法莫名其妙,tr是静态函数,你这个test要赋值给谁用啊,另外tr是qobject的成员函数,而mainfrm是从qobject继承来的,直接用tr就可,这这个搞法就涉及到test的翻译归属问题 qstring a=tr("test!"); 就可
飞天小鲸鱼 2020-03-12
  • 打赏
  • 举报
回复
win7是有毒吗,我用公司两台win7都不行,我自己带的win8就可以,服了。
飞天小鲸鱼 2020-03-12
  • 打赏
  • 举报
回复
引用 1 楼 非弋 的回复:
先qmake,再lupdate

试过了,没用。我刚刚换了台电脑就可以,这台公司电脑是win7的。
现在只能用另一台电脑翻译了。
非弋 2020-03-12
  • 打赏
  • 举报
回复
先qmake,再lupdate

21,438

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧