目前的环境:pyqt4.6rc1+python3.1+windowsXp
1、有没有办法强制pyuic4只生成以utf8编码的py文件?
当我在qtdesigner中设计界面时,如果ui文件中包含中文字符——比如Label的文字是中文,则使用pyuic4可以生成py文件,但文件编码可能是cp936而非utf8,从而导致python3.1所写的程序无法运行。一个可能的解决方法是ui文件不包含中文,而是修改pyuic4生成的py文件——在其中直接写入中文字符,这可行但不是正确的方法。如果可以强制pyuic4只生成由utf8字符编码的py文件,则中文也可以正常运行了。
这个问题在pyqt4.5中也存在的。
是否应该是ui文件不包括非ASCII编码的字符,然后一切在最后由pylupdate4进行国际化呢?
2、qtdesigner中为MainWindow添加ToolBar,pyuic4一定无法转换为py文件?
如果ui文件中的MainWindow没有ToolBar,一切OK。可是一旦添加了ToolBar,使用pyuicr4就会报错并中止代码转换。难道我中奖了,踩到了bug:(
一个可行的方法是,在自定义类中自己写ToolBar,addToolBar/addAction,这样也可以正常运行,也可以为ToolBar添加已存在的action,但很不方便。
不知pyqt4.5会不会有这个问题?
PS:之所以使用不稳定的pyqt4.6rc1,是因为pyqt4.5在设计可变形对话框时有bug:Label中的文字无法显示:(