TAG

首都機能移轉 (2) 歌詞 (2) 靠北文 (40) 戲言 (30) 糟糕 (7) ACG (23) Assembly (2) Boost (2) C (31) C++ (69) CMake (4) CSIE (67) Debian (34) Design_Pattern (2) Django (1) Eclipse (1) en_US (13) FFmpeg (3) FoolproofProject (26) FreeBSD (2) Git (4) GNU_Linux (65) IDE (5) Java (11) JavaScript (19) KDE (15) Khopper (16) KomiX (3) Kubuntu (18) Life (1) Lighttpd (2) Mac_OS_X (2) Opera (1) PHP (2) PicKing (2) Programing (21) Prolog (1) Python (7) QSnapshot (2) Qt (30) Qt_Jambi (1) Regular_Expression (1) Shell_Script (7) Talk (98) VirtualBox (7) Visual_Studio (13) Windows (18) zh_TW (36)

2011年5月8日 星期日

Use Qt Jambi community with Eclipse

Qt Jambi 原本的 Eclipse plugin 己經不能用在新版的 Qt Jambi 上了,所以我們需要自己做點苦工。
設置 Qt Jambi 的 classpath
這是比較簡單的部分,在 Preference -> Java -> Build Path -> User Libraries 裡新增一個新的 library,把 qtjambi-4.x.x.jar 和 qtjambi-(platform spec).jar 加入,然後在專案的頁面加入這個自訂的 library 就好。
Qt Designer
這有點麻煩,因為就我的經驗,社羣版給的 designer 啟動器都是不能用的,但還好 Qt Jambi 用的 jui 檔案和原本的 ui 檔案格式差不多,所以用原本 C++ 的 QtDeigner 就可以了,只要手動做些小修改:
  • 副檔名改成 jui
  • <qt>那個 xml tag 要加上屬性 language="jambi"
自動呼叫 juic
在 Java Builder 那裡要新增一個 Builder,類型選 Program,填上 juic 的路徑,working directory 填上你的 jui 檔案的"根目錄",arguments 設為 "-cp ."。
根目錄是什麼意思?如果你希望你的 ui 類別的 package 是 org.sandbox.Ui_Dialog,那麽 jui 的路徑就必須是 org/sandbox/Dialog.jui,你要在跟 org 同級的資料夾呼叫 "juic -cp ."。
一些要注意的事
某些類別的使用方式不一樣,如 QModelIndex::isValid 消失,你要判斷它的 reference 是否為 null。Signal/Slot connect 時 slots 的簽名不需要加上 generic 參數,因為它們經過 type erasing 之後都是一樣的。
不知道會不會修的 bug
juic 產生的某些代碼是錯誤的,比方說它會產生 Qt::Horizontal 這個 flag。這導致某些 form 你完全不能用。

沒有留言:

張貼留言