語言技術:Qt4 Gossip


語言技術:Qt4 Gossip

Qt 可以運行在不同的平台,像是 Unix/X11、Windows、Mac OS 與支援 framebuffer 的嵌入式Linux平台(Embedded Linux Platform),這邊的文件使用的版本為 Qt OpenSource 4.3.3 版,在 Vista 作業系統下撰寫。
入門
        先來嘗試一下幾個簡單的 Qt 程式,並初步了解一些核心特性。
  • Hello!World! Orz..
第一步,當然是先克服 Qt 的安裝問題,然後來個簡單的 Hello!World! Orz...
  • Signal 與 Slot
Signal 與 Slot 是 Qt 的特性,讓物件之間可以同步的(Synchronous)通知訊息,但又不必知道彼此,Signal 是由物件發出。
  • 事件處理
事件基本上是非同步的(Asynchronousd),通常由視窗或系統發出,讓應用程式可以回應使用者動作或系統訊息。
  • 基本版面配置
Qt 的三種基本版面配置類型為水平、垂直及格狀(Grid)配置。
  • 其它
Qt 在發行時,本身即帶有豐富的參考文件與範例,為入門時的必看資料。


常用圖型元件
        元件講是講不完的,這邊主要在簡介幾個元件作用,想了解每個元件詳細使用方式, Qt 參考文件與範例 才是 王道。
  • 按鈕選項
按鈕與選項是視窗程式中最基本的元件。
  • 對話方塊
對話方塊用來與使用者作簡單的訊息交換與溝通。
  • 文字欄位
文字欄位是使用者輸入資訊的基本元件。
  • 清單元件
這類元件通常用於顯示項目清單,可以簡單的列示,或者是使用樹狀或表格等。
  • 版面元件
除了上面介紹的三種基本版面配置之外,還可以使用一些版面元件來協助元件的群組與版面的切割。
  • 其它元件
簇繁不及備載...Orz...
常用 API
        Qt 已經不只是個 GUI 框架,它提供豐富的 API,可作為撰寫應用程式的基礎。
  • QString、容器元件
QString 是常用的類別之一,擁有一些與容器類似的特性,而 Qt 提供了一系列的通用容器類別(Container class),使用上更輕量級且安全。
  • 檔案處理
檔案輸入輸出是一個應用程式所必備的,藉由檔案的輸入輸出,也可以一同瞭解Qt的I/O處理。
  • 資料庫
QtSql 模組提供與平台、資料庫無關的資料庫存取需求,在這邊使用 MySQL 作為示範。
  • 繪圖
Qt  繪圖基於 QPainter,可於 QPaintDevice 的子類別上,進行幾何圖案、圖像、文字等繪製。
  • 拖放(Drag & Drop)與剪貼
拖放動作對於使用者是很直覺的操作,而剪貼簿可以方便使用者於不同的應用程式間分享資料。
  • 網路
Qt 的網路模組提供網路存取時的高階與低階 API,基於非同步(Asynchronous)及 Signal 的行為。


進階議題
        進階議題就是比較進階的議題。。XD
  • 多執行緒(Multithreading)
想要實作多執行緒功能,只要繼承 QThread 類別,單就表面上來看,執行緒並不困難。
  • 國際化(Internationalization)
讓您的應用程式可以因地制宜,顯示不同的語系文字。


附錄