Re: [問題] 有人可以分享wxWidgets的使用心得嗎?

看板MacDev作者 (PCMan 2004)時間17年前 (2006/10/02 19:05), 編輯推噓2(201)
留言3則, 3人參與, 最新討論串6/6 (看更多)
※ 引述《gz ()》之銘言: : 用了wx當作Framework開發了幾個月了, 感覺還算不錯 : 也自己寫了幾個widgets供專案使用. : 官網是有幾個Mac OS X的screenshots, : 但還是想請教一下有沒有人用wx來開發wxMAC的port? 沒有想像中的無痛 : 可以分享一下字元編碼與各平台間porting的經驗嗎? : 有打算把程式 port到Mac上面用 : 麻煩的地方是charset, multithread, socket, 沒錯 : 還有在下本身"完全沒有"Mac的"使用經驗":p 1. 先檢查你要用的 widget 在 wxMac 有沒有實做 wxWidgest 中實做完成度最高的是 wxMSW,其次是 wxGTK, wxMac 我當初用的時候 還算滿陽春的,因為開發者太少。 wx 官網有一張大 table,解說各種 widget 在各平台的支援狀況, 要小心的陷阱就是.... 不是每個 class 在每個 OS 都有, 像 wxGTK 就沒有 wxTabCtrl,因為底層 gtk+ 沒有這個元件。 2. 你要先想好用啥 encoding, 是 unicode or ANSI,用 unicode 可能比較無痛 但是.... 即使是 unicode 版本,有些地方 wxMac 內部仍然使用 ANSI 實做 不保證全部都可以正常運作 (我不知道線再有沒有改善)。 3. 如果你有寫自己的視窗元件,要小心文字輸入。 除 wx 提供的文字輸入元件之外 其他視窗元件,包含你繼承 wxControl 寫的,都無法接收輸入法的輸入 這部份需要自己 hack wxMac,但是 hack 完仍然是不正常 4. wxMenu 部份,因為 mac 的選單跟別的系統都不一樣,所以有些限制 如果你在 wxMenubar 建立之後,才修改裡面的 menu 內容,可能會沒效 選單內容是不會即時更新的.... 5. wx 的字型選取對話框在 Mac 沒有正確實做,無法使用中文字型 (不知道改善了沒) 如果有需要請自己重寫一個 6. wx 的 i18n 機制和 Mac 原生的機制格格不入,有可能不會按照你預期的方式運作 沒有經過修正的 wxMac 我印象中無法正確載入 *.mo 翻譯檔來翻譯介面。 我當初是自己用 hack wxMac 搭配 Carbon API 硬強迫他載入... 7. Mac 程式的打包和發行方式和 UNIX 程式完全不同,需要先閱讀 Apple 的文件 正確的建立 Mac 要求的目錄結構。 事實上弄起來相當麻煩.... 而且不保證可以動 讓 wxMac 程式在 Mac OS X 正確變成一個 *.app 的 package 是大工程 沒有 *.app 的結構的話,根據經驗執行檔視窗無法取得輸入焦點 8. Mac 的 gcc 和其他平台有些參數並不能相容,請詳閱其文件,視需要修改之 當初因為不明原因,在 XCode 當中無法正確 build,最後直接用 console 成功 9. socket 支援部份 wxMac 的可以正常使用,我有用過 10. multi-threading 部份我沒有用過,但是我猜他是用 POSIX thread 所以應該要可以動 11. 如果要存取 Mac 的檔案,可能要小心檔案名稱的編碼和程式使用的編碼可能不同 必要時可能要轉 utf-8...... 用 Cocoa 可能沒這種麻煩 12. 因為是使用 C/C++,所以只能透過 Carbon API 和 Mac 互動 無法使用比較先進的 Cocoa。 如果你有看過 Carbon API 的文件..... 說真的,那是我看過最難學的 API..... 比較會用到的可能是 CF 開頭的 Core fundation 部份,複雜到非常誇張..... 我上次只是簡單要做個取得執行檔所在目錄,就花了十幾行吧 每個函數、參數,都有超過 20 ~ 30 個英文字元的長度,會死人.... 以上,是個人過去被 wxMac 惡整,留下的殘存記憶 wxMac 沒有表面上看起來的好玩啊........ -- 個人網頁: http://pcman.sayya.org/ 上面有自畫像及各種聯絡資訊 PCMan 全系列 BBS 連線軟體 http://pcman.ptt.cc/ http://pcmanx.csie.net/ 新酷音輸入法 for Windows http://chewing.csie.net/ IE Tab Firefox plugin/extension http://ietab.mozdev.org/ PCMan 油畫作品集:http://www.wretch.cc/album/album.php?id=pcman&book=1 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.129.59.75

10/02 19:46, , 1F
太感謝了, 幾乎道盡我所有的疑惑
10/02 19:46, 1F

10/02 19:49, , 2F
啪啪啪啪 \O/ Good Job :P
10/02 19:49, 2F

10/03 17:28, , 3F
天阿..太強了..本人出現>"<
10/03 17:28, 3F
文章代碼(AID): #158FA5Oi (MacDev)
討論串 (同標題文章)
文章代碼(AID): #158FA5Oi (MacDev)