【Qt-语言家】

发布时间:2023年12月27日

■ 语言家

  1. 运行 dos窗口
  2. 在pro文件中添加要生成的ts文件 例:ng96App_yue_EN.ts
  3. lupdate -verbose ng96App.pro //命令生成ts文件
  4. 将新生成的ts文件添加到工程中
  5. 编辑ts文件 翻译对应的文字信息保存
  6. 生成qm文件
    在create中 工具->外部->语言家->发布翻译

注意, 中文中ts文件代码中的文字信息没有提取到ts文件中,可以手动添加进去。

1. 在ng96App.pro 添加
TRANSLATIONS += \
    EnglishChinese_zh_CN.ts \
    EnglishChinese_zh_EN.ts
2. 在ng96App.pro 添加
    DISTFILES += \
    EnglishChinese_zh_CN.ts

3. 编译
   Ctrl+R
4. 启动qt的命令行工具下执行生成相应的.ts 文件
lupdate –verbose ng96App.pro //生成相应的.ts 文件

5. 打开编辑ts文件,将英文翻译中文。如下:

    <message>
        <location filename="battonmain.ui" line="252"/>
        <source>Run program</source>
        <translation type="finished">程序运行</translation>
    </message>
    <message>
        <location filename="battonmain.ui" line="424"/>
        <source>Program management</source>
        <translation type="finished">程序管理</translation>
    </message>
6. QtCreat 工具 -> 外部 -> Qt语言家 -> 发布翻译    就生成看qm文件
7. 将qm放在程序指定的加载目录下就能翻译。

■ Qt 软件盘

下载软键盘源代码
下载地址链接: https://download.qt.io/archive/qt/
根据自己的Qt版本下载,比如我的是Qt5.14,所以下载的是https://download.qt.io/archive/qt/5.14/5.14.0/submodules/下的qtvirtualkeyboard-everywhere-src-5.14.0.tar.xz文件 

T9键盘例子
文件位子在科芯U盘数字键盘目录

设置输入法限制
//设置禁用输入
ui->txt1->setProperty("noinput", true);

//设置只读属性,不会弹出输入法
ui->lineEdit->setReadOnly(true);

//设置主动弹出数字键盘,如果是QSpinBox控件无需设置该属性,会自动识别改成数字模式
ui->txt2->setProperty("flag", "number");

//设置表格控件中的所有子控件为数字键盘
ui->tableWidget->setProperty("flag", "number");
input2019

//设置禁用输入
ui->txt1->setProperty(noinput, true);    

//绑定全局改变焦点信号槽
connect(qApp, SIGNAL(focusChanged(QWidget *, QWidget *)), this, SLOT(focusChanged(QWidget *, QWidget *)));
qApp->installEventFilter(this);

void frmInput2019::sendEvent(quint8 type, const QString &text)
{
    if (type == 0) {
        //切换中英模式
        QMouseEvent mousePress(QEvent::MouseButtonPress, QPoint(0, 0), Qt::LeftButton, Qt::NoButton, Qt::NoModifier);
        QApplication::sendEvent(ui->labType->isVisible() ? ui->labType : ui->labType2, &mousePress);
    } else if (type == 1) {
        //隐藏汉字候选面板
        QMouseEvent mousePress(QEvent::MouseButtonPress, QPoint(0, 0), Qt::LeftButton, Qt::NoButton, Qt::NoModifier);
        QApplication::sendEvent(ui->labMore, &mousePress);
    } else if (type == 2) {
        //删除
        QKeyEvent keyPress(QEvent::KeyPress, Qt::Key_Backspace, Qt::NoModifier, QString());
        QApplication::sendEvent(currentWidget, &keyPress);
    } else if (type == 3) {
        //插入回车符
        QKeyEvent keyPress(QEvent::KeyPress, Qt::Key_Enter, Qt::NoModifier, QString("\n"));
        QApplication::sendEvent(currentWidget, &keyPress);
    } else if (type == 4) {
        //插入字符
        QKeyEvent keyPress(QEvent::KeyPress, 0, Qt::NoModifier, QString(text));
        QApplication::sendEvent(currentWidget, &keyPress);
    }
}

■ Qt pro文件点击打不开

可能的解决办法:
删除~\AppData\Roaming\QtProject文件夹,然后再打开Qt Creator即可。
Linux下,~/home/YourUserName
Windows下,~:\Users\YourUserName  (C:\Users\Administrator\AppData\Roaming\QtProject)

通过路径添加子文件内容

如dockTopApp中加入sound文件夹
1. 在dockTopApp.pro中添加包含子目录的文件夹和pri文件。

INCLUDEPATH += $$PWD/sound                 #通过路径添加子文件内容
include($$PWD/sound/sound.pri)             #添加子文件夹所需pri文件

2. 在工程目录下新建sound目录。 将需要放进来的文件拷贝到sound目录下。
3. 修改sound目录下的sound.prl文件

注意:如果是其他地方拷贝过来的cpp h ui文件,需要再其他地方的pro文件中清除包含关系。
编译不过的话就重新构建一下。

■ windows常见的DOS命令

1)什么是DOS
“Disk Operating System” 的缩写是DOS,中文含义为“磁盘操作系统”
DOS是单用户、单任务的操作系统。
DOS命令直接面向磁盘
(2)常见命令
1、进入控制命令台:win+r —> cmd
2、磁盘切换:d: e: (直接输入盘符和冒号,然后回车,不区分大小写)
3、显示文件目录:dir (显示当前盘符的文件目录)
4、改变当前目录:cd 文件夹名
5、当前目录:cd. 返回上一级目录:cd…
6、清屏命令:cls
7、切换历史命令:上下箭头
8、补全命令:tab
9、创建目录:md 目录名 删除目录:rd 目录名
10、复制命令:copy a1 a2 (将a1文件内容复制到a2文件中)
11、删除文件:del 文件/目录名 (当删除的是目录时,那么删除是目录下的文件,而不是该目录)

文章来源:https://blog.csdn.net/sinat_23896491/article/details/135207517
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。