以setText为例,添加QStringLiteral()即可解决乱码问题
setText(QStringLiteral("你好"));
- 你要明白QObject::tr是干嘛的。它是用于程序国际化使用的,也就可以界面文字翻译成不同的语zd言。你如果使用QObject::tr,你应该全部用英文表示,然后后面借助Linguist翻译成中文,就不会乱码了回。详细请搜索“qt国际化"
- 你如果并不是想实现界面语言由英文翻译成各种语言这种国际化,那你完全没有必须使用QObject::tr。你如果只是单答独想显示"ddd的d",你就使用btn.setText(QStringLiteral(“ddd的d”));,肯定不会乱码