pyside-lupdate 解析问题

最近在用python做一个界面项目。以前都是用C++ 做Qt的。python支持PyQt,Pyside。Pyside和c++ Qt支持比较好。都是诺基亚推出的。

简单用了一下PyQt感觉不是很好用。

不过Pyside的bug挺多的。很多和c++版本的Qt运行效果不一样。

在做翻译的时候。发现pyside-lupdate有点问题。

所有类都从QObject继承。出现了unamed context。比较奇怪的是有些能识别出。有些识别不了。

查看并调试pyside-lupdate源码,发现在生成ts文件时,context在某些地方跳出了。默认contex是" "。然后就出现了unamed context。

跳出原因,看了一段代码。并没有看的太懂。可能跟对齐有关系吧。

static void parse( MetaTranslator *tor, const char *initialContext,
           const char *defaultContext )
{
    QByteArray context;
    QByteArray text;
    QByteArray com;
    QByteArray prefix;
    bool utf8 = false;

    yyContextStack.push(ContextPair(initialContext, 0));

    yyTok = getToken();
    while ( yyTok != Tok_Eof ) {

        if (yyContextPops > 0) {
//            for ( int i = 0; i < yyContextPops; i++)
//                yyContextStack.pop();
            yyContextPops = 0;
        }
然后把跳出部分代码注释掉。可以正确生成ts文件。感觉修改了类作用域。

不过代码里面没有类嵌套类的。

没出什么问题,勉强可以用。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值