我在Google上进行了长时间的努力搜索,并发现了很多关于使用uic3将Qt3.3 XML转换为Qt4进行编译的信息,但没有关于使用Qt4(4.0)生成的.ui文件中要更改或查找的内容)无法编译。这是我尝试在每个.ui文件上运行uic的输出示例(我正在编译最新版本的Firewall Builder,供参考)正如您所看到的,有几个文件失败,其中一个在这里,'asklibforcopydialog_q.ui'成功
[atroon@alexandria libgui]$ ls *.ui | xargs -n1 uic |more
uic: File generated with too old version of Qt Designer
File 'aboutdialog_q.ui' is not valid
uic: File generated with too old version of Qt Designer
File 'actionsdialog_q.ui' is not valid
uic: File generated with too old version of Qt Designer
File 'addressrangedialog_q.ui' is not valid
uic: File generated with too old version of Qt Designer
File 'addresstabledialog_q.ui' is not valid
/********************************************************************************
** Form generated from reading ui file 'asklibforcopydialog_q.ui'
**
** Created: Tue Dec 20 10:03:26 2011
** by: Qt User Interface Compiler version 4.2.1
**
** WARNING! All changes made in this file will be lost when recompiling ui file!
********************************************************************************/
(many more lines snipped)
因此。我是否需要尝试查找uic
的旧版本? 或者是否有一个相对简单的(正则表达式,sed / awk)更改我可以对XML进行更改以允许它使用此版本进行编译?我无法想象使编译器不能向后兼容相同的主要版本,但我们在这里。对上面编译的XML文件以及抛出uic: File generated with too old version of Qt Designer
错误的XML文件进行初步检查并没有发现XML的明显区别,但我不是XML大师。
帮我Stack Overflow,你是我唯一的希望!
答案 0 :(得分:2)
您寻求的答案是:uic3 -convert