qt开发入门简介 一步一步学习Qt开发
qt开发入门简介 一步一步学习Qt开发
2024-11-22 11:32:12  作者:妈苊吢痌  网址:https://m.xinb2b.cn/sport/xzj441457.html

实现多国语言切换的方法:

首先点击菜单 QT5 --> Create new Translation File,需要注意的是必须要选中工程的任何一个地方(即左边 Solution 中树形结构的工程位置),否则菜单是灰色不能点击状态的。




我们创建两个翻译文件:

helloworld_zh.ts

helloworld_en.ts

如果只需要中文的话,只需要创建 helloworld_zh.ts 即可。


大分辨率的图片会被头条降低质量,如果看不清楚的话,以下是分别截取的两个小图片:



保存并关闭 UI 设计师,回到工程,我们分别右键两个翻译文件,点击“lupdate”:


双击 helloworld_en.ts 或 helloworld_zh.ts,默认会调用 Qt 语言家打开相应文件:


在 1 的地方输入译文,点击 2 表示完成翻译,最后不要忘记点击“保存”。我只对标题 HelloWorld 作了中英文区别翻译,英文是:Hello World,中文是:你好 世界,而按钮 Chinese 与 English 无论是英文翻译包还是中文翻译包,都分别是:“中文”与“English”。保存退出后,还需要分别对两个翻译源文件调用“lrelease”:


调用 lrelease 后,会对 *.ts 文件翻译为相应的 Qt 翻译文件格式 *.qm:


我们可以使用记事本等文本文件打开 *.ts 文件,实际上它是 XML 文件:


下面我们先来实现程序启动的时候默认是中文的,main 函数修改成:

QTextCodec::setCodecForLocale(QTextCodec::codecForName("GB18030"));

QApplication a(argc, argv);

QTranslator* translator = new QTranslator();

translator->load("helloworld_zh.qm");

a.installTranslator(translator);

HelloWorld w;

w.show();

return a.exec();

需要 include 两个头文件:

#include <QTextCodec>

#include <QTranslator>

编译运行:


我们需要实现的是点击按钮动态切换语言,“点击事件”涉及到一个很重要的功能:“信号/槽”,我们将在下一篇文章介绍,现在一起来实现鼠标点击事件,如果暂时不理解代码,欢迎查看下一篇文章。

打开 helloworld.h,添加两个函数(注意:需要在 private 后面添加 slots):

private slots:

void chinese();

void english();

在 private: 下面增加两个变量:

private:

QTranslator* trsChinese_;

QTranslator* trsEnglish_;

打开 helloworld.cpp,在构造函数中 ui.setupUi(this); 的后面增加:

trsChinese_ = new QTranslator();

trsEnglish_ = new QTranslator();

trsChinese_->load("helloworld_zh.qm");

trsEnglish_->load("helloworld_en.qm");

connect(ui.btnChinese, SIGNAL(clicked()), this, SLOT(chinese()));

connect(ui.btnEnglish, SIGNAL(clicked()), this, SLOT(english()));

函数 chinese() 与 english() 的实现如下:

void HelloWorld::chinese()

{

qApp->installTranslator(trsChinese_);

ui.retranslateUi(this);

}

void HelloWorld::english()

{

qApp->installTranslator(trsEnglish_);

ui.retranslateUi(this);

}

最终的代码图片如下:



编译运行,我们就可以实现动态切换语言啦。

  • 秋风拂面不知寒(清风典历风乎舞雩)
  • 2024-11-22清风典历风乎舞雩【译文】曾点便道:“暮春三月,春天衣服都穿定了,我陪同五六个成年人、六七个小孩,在沂水旁边洗洗澡,在舞雩台上吹吹风,一路唱歌,一路走回来”孔子长叹一声道:“我同意曾点的主张呀!”——杨伯峻《论语译注》。
  • 保时捷和奔驰哪个档次最高(买豪华车需慎重)
  • 2024-11-22买豪华车需慎重导读:近几年随着国民消费水平的提升,大家对汽车的品质要求也是越来越高,于是那些品质一般的家用型汽车就显得不够档次,所以豪华车成为了很多消费者的购车首选不过买豪华车也需慎重,根据J.D.Power公布的。
  • js实现浏览器自动全屏 JS控制浏览器全屏
  • 2024-11-22js实现浏览器自动全屏 JS控制浏览器全屏由于工作的需要,需要对页面进行投屏操作,这时为了达到更好的效果,浏览器全屏显示类似F12的效果HTML5提供了操作浏览器全屏的API,目前googlechrome15,safri5.1,firfox1。
  • 余旭和家人的合照(特写余旭)
  • 2024-11-22特写余旭11月19日,社会各界人士前来敬献鲜花当日,余旭烈士公祭活动在四川省崇州市举行余旭是我国首批歼击机女飞行员,是首位驾驶歼-10飞机飞上蓝天的女飞行员新华社记者薛玉斌摄11月19日,社会各界人士前来悼念。
  • 卵泡期是什么意思(什么是卵泡期)
  • 2024-11-22什么是卵泡期月经周期分为卵泡期和黄体期,月经周期中黄体萎缩后卵泡开始发育并成熟,即为卵泡期,排卵后进入黄体期卵泡期在月经来潮后到排卵大约是十四天月经周期规律的女性大约是十四天,这部分女性在卵泡期,尤其是卵泡后期即。
  • 成语故事不务正业(成语典故半途而废)
  • 2024-11-22成语典故半途而废半途而废出处:《后汉书》:“妻乃引刀趋机而言曰:“‘此织生自蚕茧,成于机杼,一丝而累,以至于寸;累寸不已,遂成丈匹,今若断斯织也,则捐失成功,稽废时日夫子积学,当“日知其所亡”,以就懿德,若中道而归,。
  • 美的怎么读(美的的读音)
  • 2024-11-22美的的读音měi,dì美的集团是一家集消费电器、暖通空调、机器人与自动化系统、智能供应链(物流)的科技集团主要家电产品有家用空调、商用空调、大型中央空调、冰箱、吸尘器、取暖器、电水壶、烤箱、抽油烟机、净水设备、。
  • 玻璃胶怎么样才能快速去除(玻璃胶使用和去除的方法有哪些)
  • 2024-11-22玻璃胶使用和去除的方法有哪些玻璃胶虽然很小,但是适用率却是非常高的,比如说用来固定玻璃、固定台盆以及坐便器都需要玻璃胶不过情况不同,所使用的玻璃胶也不一样,如果用错了玻璃胶容易出现发霉,甚至窗户漏水、台面漏水等问题接下来筑牛网小。
  • 65个常用字详解(常用字范式之八十三)
  • 2024-11-22常用字范式之八十三常用字范式之八十三、九画之三:按:《说文解字》:“按,下也从手、安声”(手:参见四画之二“手”)(安:参见六画之十二“安”)手、安两范式叠加:犹以手抑之使下者是按字之范式挥:挥:从“揮”省挥:繁体字写。