TextEdit中的内容提取与翻译

效果

在这里插入图片描述
1、TextEdit中的内容格式是: xxx xxx xxx;
需要翻译的是第三个xxx 要把xxx xxx ;删除
2、我的界面中点击你好是增加一个123内容,点击Word是增加一个456的内容,Cancel是清空textEdit中的内容

代码

	QString text = ui->textEdit->toPlainText(); //获取TextEdit中的文本内容,每一行是以\n结尾
    ui->textEdit->clear();  //先清空,翻译后再重新写入
    if(!text.isEmpty())
    {
        QStringList mTextList = text.split("\n"); //以\n为切割符
        for(int i=0; i<mTextList.size(); i++) 
        {
//            123 123 456;
            QString text2 = mTextList.at(i);
            QStringList mTextList2 = text.split(" "); //每一行再以空格为切割符
            //123 123 123;
            text2.replace(mTextList2.at(0) + " " +mTextList2.at(1) + " ", ""); //将要删除的内容替换为空,也就是删除掉
            text2.replace(";", ""); //替换;为空
            //这个时候的text2中的文本内容其实就是我们想要翻译的内容
            //但是tr()中包裹的要是const char *,所以我们要把QString中的内容转成const char *,其实按照逻辑,这个转换的步骤是可以不要的,因为我们每次都有一个判断,凭个人咯
            QByteArray mByteInfo = text2.toLatin1();
            const char *mChInfo = mByteInfo.data();
            QString Info = text2.toLocal8Bit();
            if(text2.toLocal8Bit() == "一二三")
            {
                ui->textEdit->append(mTextList2.at(0) + " " +mTextList2.at(1) + " " + tr("123") + ";");
            }
            else if(text2.toLocal8Bit() == "四五六")
            {
                ui->textEdit->append(mTextList2.at(0) + " " +mTextList2.at(1) + " " + tr("456") + ";");
            }
            else
            {
            	//放置转换好的内容
                ui->textEdit->append(mTextList2.at(0) + " " +mTextList2.at(1) + " " + tr(mChInfo) + ";");
            }

        }
    }

总结

1、提取文本内容
2、切割得到要翻译的内容
3、判断文本内容,往textEdit中写入内容

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值