2024年3月28日发(作者:)

file:////F|/qt文档/qt文档/Qt中文处理实战.txt

版權宣告:本文允許在保留作者、出處,以及本宣告的前提下,以任何人類可讀

之形式自由散佈

標題:Qt/Embedded 與 Qtopia 中文處理實戰

作者:黃敬群

最後更新:March 11, 2002

Qt/Embedded 中文處理實戰

作者:黃敬群

[-] 前言

Qt/Embedded 是 Trolltech 進軍 embedded system 的強力武器。秉持著 Qt 在

桌面系統 (desktop) 的成功、KDE 成熟而完整的架構 [注 1],Trolltech 精簡

Qt 的 API,並依據 embedded system 的需求加以作部份功能的擴充與調整。不

同於一般 embedded 環境中常見的 toolkit 大多只有處理顯示的機制 (如 FLTK

、MiniGUI、Gtk-FB、... 等),Qt/Embedded 本身就是相當完整的架構,而充分

支援 Unicode、依循 i18n (internationalization) / l10n (localization)

標準的發展路線,更是讓 Qt/Embedded 的應用突破語系的限制,本文就是探討如

何對 Qt/Embedded 作中文處理,並提及 Qt/Embedded 的若干觀念,希望能對您

有幫助。

* 註 1: Trolltech 裡頭不少工程師本身就是 KDE 的核心開發者,當

他們設計 Qt/Embedded 與 Qtopia 時,多少也參考了 KDE 的

架構

筆者實際上也是初學者,撰寫本文主要是心得筆記,有感一直沒有這類的文件可

以參考,所以嘗試著把自己的諸多試驗整理而與大家共享,如有謬誤,還請來信

指正,謝謝!

[-] 大綱

. Qt/Embedded 與 Qtopia 概況

. 手動調整 Qt/Embedded

. QVFB (Qt Virtual FrameBuffer) 使用

. 應用軟體翻譯

. Launcher/Directory 的翻譯

. System Script

. 核心支援項目

file:////F|/qt文档/qt文档/Qt中文处理实战.txt(第 1/16 页)2004-7-23 8:39:19

file:////F|/qt文档/qt文档/Qt中文处理实战.txt

[-] Qt/Embedded 與 Qtopia 概況

提到 Qt/Embedded,不免就會聯想到同樣是 Trolltech 推出的重量級武器 --

Qtopia [註 2]。Qtopia 之前的名稱是 Qt Palmtop Environment (QPE),目標

是打造出一個整合性的 PIM (Personal Information Management)、多媒體效果

、網路、... 等環境,適合中高階的手持式 (handheld) 應用,而 Qt/Embedded

正是擔任底層的 Framework [註 3] 角色,不僅畫面的繪製、訊息系統 (如著名

的 Signals & Slots 機制、Qt/Embedded 仿效 KDE DCOP 的 QCop 等),甚至連

網路、XML 模組 (既然是模組,就可以選擇是否要加入編譯) 都納入核心 API

中。

* 註 2: Qtopia 的開發者首頁在 /,而

Qt/Embedded 的資訊可在此取得:

/products/embedded/

* 註 3:這邊指的 Framework 是物件導向程式設計中,一群協同合作

的類別所構成、可設計出具再利用價值的特定軟體類型的骨幹

支架,Qt 整體就是如此的例子

咱們來看看,依據 Trolltech 的規劃,Qtopia 的架構圖是如何:

┌ +---+ +---------+ +-----------+ +----------+ +-----+

Application │ |PIM| |Utilities| |MediaPlayer| |Networking| |Games|

└ +---+ +---------+ +-----------+ +----------+ +-----+

┌ +--------------------------------------------------+

GUI │ | Qtopia Library |

Syetem │ +--------------------------------------------------+

│ +---------------------------------------+ +--------+

│ | | | |

│ | Qt/Embedded +-----+ | 3-rd |

│ | | +-----+ party |

│ +---------------------------------+ | Libaray |

└ +--------------+

┌ +--------------------------------------------------+

Kernel │ | OS Kernel (不見得是 Linux,*BSD 的 port 也出現了)|

└ +--------------------------------------------------+

/

圖 1:Qtopia 架構圖

值得注意的是,Trolltech 的發展 Qt/Embedded 相關產品的過程中,巧妙的顯

示出,不少原本是 Qtopia Library 的 API,因為可重用性高,就慢慢移往

Qt/Embedded 中,如 Qtopia Library 負責處理使用者設定的

,就納入 Qt/Embedded (Qt/X11 亦然) 3.x 標準中。Qtopia 中諸多應用程式或

file:////F|/qt文档/qt文档/Qt中文处理实战.txt(第 2/16 页)2004-7-23 8:39:19