QT从常量中有换行符问题,浅谈项目中如何进行语言设计
使用QT进行项目开发时,经常会遇到“常量中有换行符”问题,产生的具体原因请参考这位“知友”https://zhuanlan.zhihu.com/p/146543940
接下来我们来谈谈,架构中应该如何设计!
常见的设计模式是在需要给控件赋值的地方直接使用qt自带的多语言设计器 tr 去处理,
例如:
QTable *tab =new QTable();
tab->setText(tr("tip"));
这样写也可以解决上述问题,如果要是一个小项目,这样写还行,
要是做得项目规模比较大,我一般会用下面的架构:
新建一个公用类库,把我们一些共用的函数都放在这个子项目中,
这里,我们的语言设计就可以放在这个模块中完成。
注意这时tr的内容我们可以自定义,不一定非要写准确的英文,只要我们自己认识就可以,只是作为一个标记使用,
这样放在同一个公用类中,就不用为不同模块中相同的字符描述做多次声明和翻译了。
使用方式如下:
如有不同的见解,欢迎讨论,学而不思则罔!