pyside-lupdate 解析问题

来源:互联网 发布:快速买火车票软件 编辑:程序博客网 时间:2024/06/07 02:02

最近在用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文件。感觉修改了类作用域。

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

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

原创粉丝点击