2011-12-20 135 views
1

我在Google上搜索了很長時間,並且發現了很多關於使用uic3將Qt3.3 XML轉換爲Qt4進行編譯的信息,但是沒有關於如何更改或查找使用Qt4(4.0)生成的.ui文件。無法編譯。以下是我嘗試在每個.ui文件上運行uic的輸出示例(我正在編譯防火牆生成器的最新版本,供參考)正如您所看到的,其中一些文件失敗,另一個文件失敗,'asklibforcopydialog_q.ui'成功如何使用Qt uic 4.2.1編譯Qt Designer 4.0 XML文件?

[[email protected] 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中沒有顯示出明顯的區別,但是我不是。

幫助我堆棧溢出,你是我唯一的希望!

+0

您可以嘗試在Qt Designer中打開ui文件並保存它們。 – hmuelner 2011-12-20 16:33:55

回答

2

您尋求的答案是:uic3 -convert