QT4如何將QT DESIGNER所產生之.ui檔轉成.cpp

喜歡程式設計嗎?想要一窺 KDE/Qt 程式設計的奧秘嗎?想要
學習 X Window 上的視窗程式設計嗎?歡迎各類關於 KDE/Qt、Qtopia、Qt/Embedded、QSA、PyQt 等各類心得討論。

版主: AceLan, Franklin

QT4如何將QT DESIGNER所產生之.ui檔轉成.cpp

文章正在申請中會員 » 週四 7月 07, 2005 8:34 am

DEAR 大大:
QT3之 QT DESIGNER所產生之.ui檔可藉由uic轉成.cpp檔 ,但QT4似乎不行,請問如何才能將.ui檔轉成.cpp檔
正在申請中會員
可愛的小學生
可愛的小學生
 
文章: 19
註冊時間: 週五 6月 03, 2005 5:50 pm

文章ken hsu » 週三 8月 24, 2005 10:42 pm

明明就可以~
download:
http://www.trolltech.com/download/qt/windows.html
此範例有.ui, 以下自然產生/tmp/.../*.cpp:
C:\Qt\4.0.1\examples\designer\calculatorform
>qmake calculatorform.pro
>make
Okay to create *.exe!!!
ken hsu
 

文章zhuxuan » 週六 8月 27, 2005 2:02 am

http://doc.trolltech.com/4.0/porting4-designer.html
在中間uic Output有講到,Qt 4的uic並不會產生*.cpp的檔案,詳情請看此文件,講的很清楚唷~ :-P
zhuxuan
可愛的小學生
可愛的小學生
 
文章: 23
註冊時間: 週六 11月 06, 2004 4:23 am
來自: 台灣

文章ken hsu » 週六 8月 27, 2005 11:11 am

你應該沒有看清楚, 而且我是自己run過此sample:calculatorform 在此目錄下C:\Qt\4.0.1\examples\designer\calculatorform\tmp\moc\release_shared\moc_calculatorform.cpp
的檔案就是產生的"證據" :) :)

你是不是應該先試一下這個檔案, 再上來說明...
(我的測試方法WinXP+Qt4: delete dir:tmp first
>qmake calculatorform.pro
>make
果然產生此中介檔
)

Qt3 && Qt4有很大的不同, 所以無法直接用Qt4 compile Qt3 files,要經過轉換!
ken hsu
 

文章訪客 » 週日 8月 28, 2005 1:56 am

呃…
我不曉得我有沒有誤解原po的問題所在…

原po的問題,在我的解讀是,
「如果用 QT Designer 設計產生了一個 xxx.ui 檔,在 QT 3 下,可以使用 "uic -o xxx.h xxx.ui" 及 "uic -i xxx.h -o xxx.cpp xxx.ui"等指令,透過 uic 產生出 .h 及 .cpp 等檔案。但是 QT 4 的 uic 似乎不行,請問在 QT 4 底下如何在只有 .ui 檔的情形下產生出 .h 及 .cpp 等檔案?」

我有試過這個範例,按照您提供的方法確實是可行的。但是我覺得原po的情形是:
「如果只有一個 .ui 檔,要怎麼產生出 .h 及 .cpp 甚至是 compile 出最後的執行檔?」

如果將範例程式刪除到只剩一個 .ui 檔,那麼,"qmake calculatorform.pro" 是行不通的;如果手動新增 calculatorform.pro 檔,內容也寫的正確無誤,也就是在有了 .ui 檔與 .pro 檔的情形下,使用您所提的兩個指令,似乎也產生不出 .h 及 .cpp 檔?

下面分享一個簡易的方法,來模擬用 QT Designer 設計出一個 .ui 之後,如何以最少的手動 coding ,完成一個簡易的 QT Application。(以下假設所有相關環境變數及所需工具程式均設定及安裝完成)
1. 使用 QT Designer 設計一個 Dialog(其他的亦可,這裡只是舉例說明),存到 D:\MyQTDialog\MyQTDialog.ui

2. 使用 command prompt ,切換到 D:\MyQTDialog 底下,以 "uic -o MyQTDialog.h MyQTDialog.ui" 產生 MyQTDialog.h。

3. 參考 http://doc.trolltech.com/4.0/porting4-designer.html 中 "There are two ways to create an instance of our form..."這一段,這裡使用第一種方法,新增了 main.cpp ,將 main function 寫在其中。

4. 如果有與 QT 4 整合的 IDE 的話,此時應該可以直接編譯並產生出執行檔了。若無,則可參以下。同樣在 D:\MyQTDialog 底下,以 "qmake -project" 產生 MyQTDialog.pro 檔案。

5. 使用 "qmake MyQTDialog.pro" 產生相關的 Makefile。

6. "make"

7. 大公告成

以上是一點小小心得分享!若有錯誤請指正!(Windows XP Pro SP2 + QT 4)
訪客
 

文章zhuxuan » 週日 8月 28, 2005 2:07 am

p.s. 忘了登入… :ooops:
zhuxuan
可愛的小學生
可愛的小學生
 
文章: 23
註冊時間: 週六 11月 06, 2004 4:23 am
來自: 台灣

文章still » 週日 8月 28, 2005 3:52 pm

我是ken hsu(之前沒登入)
我想Qt4是不是想說可以不用uic, 直接用Qt designer 產生ui,配合寫好的.cpp+.h,就可以直接用qmake+make(uic在qmake fn.pro下完成, 本來這就是很死的步驟)!
或許以後連整合環境一起發展出來, 就不要那樣麻煩(最好Qt designer 加上compile的功能,可以將所有資源整合,那樣最好了)!!!
但願人長久,千里共嬋娟
still
可愛的小學生
可愛的小學生
 
文章: 2
註冊時間: 週四 7月 21, 2005 4:10 pm
來自: tw


回到 KDE/Qt 程式設計

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客

cron