zoukankan      html  css  js  c++  java
  • QTextEdit的右键菜单仍然是英文(整理版)

    达到效果:

    参看这篇博客应该:http://blog.csdn.net/suirosu/article/details/45313525

    /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

    qt5把qt_zh_CN.qm加载了,但QTextEdit的右键菜单仍然是英文,而QLineEdit的倒是中文。怎样设置使得QTextEdit的右键菜单是中文


    虽然时间已过去很久,但我还是要回复一下,因为我找到了解决方法,希望能对其他人有帮助。
    问题的原因在于:QTextEdit中使用的对象QWidgetTextControl中的复制、粘贴等右键菜单选项在qt_zh_CN.qm中没有被翻译。
    解决方法:打开qt-everywhere-opensource-src-5.2.0qtbasesrcwidgets目录,用Qt Creator打开widgets.pro文件,
    添加一行:TRANSLATIONS += widgets.ts
    然后在Qt Creator的系统菜单中,选择:工具->外部->Qt语言家->更新翻译,
    注意:找不到lupdate.exe不会提示,请看下面概要提示,确保文件存在,成功会显示:
    Starting external tool "E:qtqt5.5qtbaseinlupdate.exe" E:/qt/qt5.5/qtbase/src/widgets/widgets.pro
    Updating 'widgets.ts'...
    Found 219 source text(s) (219 new and 0 already existing)

    "E:qtqt5.5qtbaseinlupdate.exe" finished

    就会在widgets.pro所在目录下生成一个widgets.ts文件,用Qt Linguist打开widgets.ts,找到QWidgetTextControl,翻译相关选项,然后选择:文件->发布,就会在widgets.ts所在目录生产一个widgets.qm文件,然后用下面的方式应用到项目中即可:
    C/C++ code

    QTranslator translator;
    translator.load(QString(":/cfg/xml/widgets.qm"));
    app.installTranslator(&translator);
    QTranslator translator2;
    translator2.load(QString(":/cfg/xml/qt_zh_CN.qm"));
    app.installTranslator(&translator2);

    ////////////////////////////////////////////////////////////////

    关键点:

    在资源管理器里把这几个文件加载进去,并在高亮的地方写对文件的路径。

    上图:对应的路径translator.load(QString(":/qm/qt_zh_cn"));  

    关键点,所以的文件都生成成功了,代码也写对了,不起作用的主要原因是文件的路径没有填写正确。

  • 相关阅读:
    3ds
    markdown-to-html.min.js
    $interpolateProvider
    Angular 插值字符串
    Angular 手动解析表达式
    JAVA 多线程
    listFiles()
    键盘读入
    BufferedInputStream、BufferedOutputStream
    FileInputStream、FileOutputStream的应用
  • 原文地址:https://www.cnblogs.com/kikizhong/p/7884378.html
Copyright © 2011-2022 走看看