当前位置: 首页 > news >正文

桂林网站开发建设比较好的网络推广平台

桂林网站开发建设,比较好的网络推广平台,企业模板建站有哪些,网站建设高级开发语言文章目录 1、概要2、多语言切换2.1、结果展示2.2、创建项目2.2、绘制UI2.2、生成“.st”文件2.4、生成“.qm”文件2.5、工程demo 1、概要 借助QT自带的翻译功能,实现实际应用用进行 “多语言切换” 2、多语言切换 2.1、结果展示 多语言切换 2.2、创建项目 1、文件…

文章目录

    • 1、概要
    • 2、多语言切换
      • 2.1、结果展示
      • 2.2、创建项目
      • 2.2、绘制UI
      • 2.2、生成“.st”文件
      • 2.4、生成“.qm”文件
      • 2.5、工程demo

1、概要

借助QT自带的翻译功能,实现实际应用用进行 “多语言切换”

2、多语言切换

2.1、结果展示

多语言切换

2.2、创建项目

1、文件,创建“新项目”————》“Application”————》“Qt Widgets Application”;
2......

在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

2.2、绘制UI

1)、菜单栏创建“QMenu”,模拟正常软件控件布局;
(2)、QMenu直接双击,输入对应的命名昵称,按键盘“Enter”键才会生效(有点bug哈);
(3)、创建QMenu下的QAction时,命名需要复制粘贴进去,再“Enter”键,直接输入不生效;
(4)、简单拖入两个QLable按钮,便于直观看到效果;

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

2.2、生成“.st”文件

    (1)、在.pro工程目录下,手动创建“translate”文件夹,用于存放需要添加的语种的.ts文件;

//注意这里的.ts文件名称是你自己命名的,自己记住那个语言对应哪个文件即可,一般习惯上使用各语种的简写,后续载入对应的qm语言文件做到对应正确就行。
//当前因为选中语种为“中文、英文、日语”,故命名如下所示;
TRANSLATIONS += \translate/LanguageTest_cn.ts\translate/LanguageTest_en.ts\translate/LanguageTest_jp.ts

在这里插入图片描述
    (2)、在QT菜单栏,选中“工具”——》选中“外部”——》选中“QT语言家”——》单机“lupdate”工具;
在这里插入图片描述在这里插入图片描述在这里插入图片描述

2.4、生成“.qm”文件

1)、找到安装目录下“bin”文件中的“linguist.exe”工具;
(2)、 双击“linguist.exe”工具,将QT生成的“.ts”文件拖入其中;
(3)、根据需要,进行对应的翻译,直达所有的控件皆翻译完成,如下图所示;
(4)、单机“linguist.exe”菜单栏中的“文件”,选择“保存”并“全部另存为”;

在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述

2.5、工程demo

//main.cpp
#include "mainwindow.h"
#include <QApplication>
int main(int argc, char *argv[]){QApplication a(argc, argv);MainWindow w;w.show();return a.exec();
}
//mainwindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H#include <QMainWindow>
#include <QString>
#include <QDebug>
#include <QApplication>
#include <QTranslator>
#include <QFileInfo>QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACEclass MainWindow : public QMainWindow
{Q_OBJECT
public:MainWindow(QWidget *parent = nullptr);~MainWindow();private slots:void onMenulanguageTriggered(QAction *action);  //UI按钮触发,切换翻译void onLanguageTrans(int index);  //加载翻译的.qm文件private:Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H
//mainwindow.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow)
{ui->setupUi(this);connect(ui->menu_language, &QMenu::triggered, [&](QAction *action) {onMenulanguageTriggered(action);});  //UI切换按钮,就直接触发“onMenulanguageTriggered()”函数,获取QMenu当前被选中的QAction
}MainWindow::~MainWindow()
{delete ui;
}void MainWindow::onLanguageTrans(int index)
{static QTranslator* translator;  //初始化QT自带的翻译类“QThranslator”if(translator!=NULL){qApp->removeTranslator(translator);delete translator;translator=NULL;}translator=new QTranslator();QString strLanguagePath;switch (index) {case 1:// chinesestrLanguagePath = QCoreApplication::applicationDirPath() + "/translate/" + "LanguageTest_cn.qm";break;case 2:// EnglishstrLanguagePath = QCoreApplication::applicationDirPath() + "/translate/" + "LanguageTest_en.qm";break;case 3://jpstrLanguagePath = QCoreApplication::applicationDirPath() + "/translate/" + "LanguageTest_jp.qm";break;}if(translator->load(strLanguagePath))  //判断.qm文件是否加载成功{qApp->installTranslator(translator);//用于将指定的翻译器安装到应用程序中。安装后,应用程序在显示文本时会优先使用该翻译器提供的翻译文本。this->ui->retranslateUi(this);//用于重新翻译当前界面上的所有控件文本。当翻译器安装成功后,调用这个函数可以使界面上的文本立即更新为新的翻译内容。}else{qDebug()<<"load failed";}
}void MainWindow::onMenulanguageTriggered(QAction *action)
{//刷新语言// 获取菜单中所有动作的列表QList<QAction *> actionList = ui->menu_language->actions();// 查找触发动作在列表中的索引int index = actionList.indexOf(action);if (index != -1){onLanguageTrans(index);qDebug() << "Triggered action index: " << index;} else{qDebug() << "Action not found in menu.";}
}
http://www.wooajung.com/news/21012.html

相关文章:

  • 有哪些网站做生鲜到家关键词可以分为哪三类
  • 阿里云备案网站备案域名太原百度快照优化排名
  • 呼和浩特市城乡建设委员的网站网络推广是啥
  • 四川网上注册公司流程杭州seo优化
  • 网站架构优化小网站
  • 有原型怎么做网站搜狗seo
  • dw制作网页步骤上海快速排名优化
  • 哪家网站做旅游攻略好厦门网络推广培训
  • 义乌微信网站建设费用江苏网站推广
  • 用html5做的网站素材seo查询5118
  • 如何做淘宝返利网站广州建网站的公司
  • 网站建设公司新闻软件培训
  • 学生兼职做网站百度竞价推广出价技巧
  • 吉林大学建设工程学院网站seo网站推广助理
  • 微信兼职网站开发百度关键词排名软件
  • 网站设计 评价 方法百度指数网
  • 宁波自适应网站建设特点湖南网站建设推广
  • 惠州热门的网站客户管理软件哪个好用
  • 做网站的关键性技术有哪些长春百度快速优化
  • 专业简历制作网站模板免费seo技术教程
  • 公司做网站怎么推广seo单页快速排名
  • 建设网站诈骗是什么罪百度客服电话24小时人工服务热线
  • 网站设计的流程是怎样的三只松鼠网络营销策略
  • 做国外电影网站球队世界排名榜
  • 网站怎么做的如何刷app推广次数
  • 音乐盒的网站怎么做直通车关键词怎么优化
  • 洛阳做网站哪家好品牌推广战略
  • 网站开发技术指标手游推广赚佣金的平台
  • 光谷企业网站建设百度发布信息的免费平台
  • 土豆做视频在线观看网站日照高端网站建设