Qt4 學習筆記[转]

来源:互联网 发布:php artisan migrate 编辑:程序博客网 时间:2024/05/21 14:07
http://caterpillar.onlyfun.net/Gossip/Qt4Gossip/Qt4Gossip.html
入門

先來嘗試一下幾個簡單的 Qt 程式,並初步了解一些核心特性。

  • Hello!World! Orz..
第一步,當然是先克服 Qt 的安裝問題,然後來個簡單的 Hello!World! Orz...
  •  
    • Windows XP/Vista 下安裝 Qt4
    • 第一個 Qt 程式
    • 簡單的顯示中文(使用 Unicode 轉換)
  • Signal 與 Slot
Signal 與 Slot 是 Qt 的特性,讓物件之間可以同步的(Synchronous)通知訊息,但又不必知道彼此Signal 是由物件發出
  •  
    • 使用 Signal 與 Slot(使用按鈕關閉視窗)
    • 使用 Signal 與 Slot(使用拉桿改變LCD數字)
    • 自訂 Signal 與 Slot
  • 事件處理
事件基本上是非同步的(Asynchronousd),通常由視窗或系統發出,讓應用程式可以回應使用者動作或系統訊息。
  •  
    • 事件類型與處理者
    • 事件接受與否、event() 方法
    • 事件過濾器
    • 自訂與傳送事件
  • 基本版面配置
Qt 的三種基本版面配置類型為水平、垂直及格狀(Grid)配置。
  •  
    • QHBoxLayout 與 QVBoxLayout 版面配置
    • QGridLayout 版面配置
    • 較複雜的版面配置
    • 自訂版面配置管理員(Layout Manager)
  • 其它
Qt 在發行時,本身即帶有豐富的參考文件與範例,為入門時的必看資料。
  •  
    • Qt 參考文件與範例
    • 簡介 Qt Designer


常用圖型元件

元件講是講不完的,這邊主要在簡介幾個元件作用,想了解每個元件詳細使用方式, Qt 參考文件與範例 是王道。

  • 按鈕選項
按鈕與選項是視窗程式中最基本的元件。
  •  
    • QPushButton
    • QCheckBox 與 QRadioButton
    • QComboBox
  • 對話方塊
對話方塊用來與使用者作簡單的訊息交換與溝通。
  •  
    • QInputDialog 與 QMessageBox
    • QColorDialog 與 QFontDialog
    • QFileDialog
    • 自訂對話方塊(Dialog)
  • 文字欄位
文字欄位是使用者輸入資訊的基本元件。
  •  
    • QLineEdit
    • QTextEdit
  • 清單元件
這類元件通常用於顯示項目清單,可以簡單的列示,或者是使用樹狀或表格等。
  •  
    • QListWidget 與 QListWidgetItem
    • QTreeWidget 與 QTreeWidgetItem
    • QTableWidget 與 QTableWidgetItem
    • Model 與 View 類別
  • 版面元件
除了上面介紹的三種基本版面配置之外,還可以使用一些版面元件來協助元件的群組與版面的切割。
  •  
    • QTabWidget
    • QSplitter
    • QStackedLayout
    • QScrollArea
  • 其它元件
簇繁不及備載...Orz...
  •  
    • QScrollBar
    • QTimer 與 QLCDNumber
    • QProgressBar
    • QWizard
    • QMainWindow
    • QMdiArea
    • QSplashScreen



常用 API

Qt 已經不只是個 GUI 框架,它提供豐富的 API,可作為撰寫應用程式的基礎。

  • QString、容器元件
QString 是常用的類別之一,擁有一些與容器類似的特性,而 Qt 提供了一系列的通用容器類別(Container class),使用上更輕量級且安全
  •  
    • QString
    • 循序容器(QVector、QLinkedList、QList...)
    • 關聯容器(QMap、QHash...)
    • 泛型演算(Generic Algorithms)
  • 檔案處理
檔案輸入輸出是一個應用程式所必備的,藉由檔案的輸入輸出,也可以一同瞭解Qt的I/O處理。
  •  
    • QFile
    • QTextStream
    • QDataStream
    • QFileInfo 與 QDir
    • Qt 資源系統
  • 資料庫
QtSql 模組提供與平台、資料庫無關的資料庫存取需求,在這邊使用 MySQL 作為示範。
  •  
    • Qt 的 MySQL 驅動程式
    • QSqlQuery
    • QSqlQueryModel 與 QSqlTableModel
  • 繪圖
Qt 繪圖基於 QPainter,可於 QPaintDevice 的子類別上,進行幾何圖案、圖像、文字等繪製。
  •  
    • QPainter
    • QMatrix
    • QPixmap、 QBitmap、QImage 與 QPicture
    • QPrinter
  • 拖放(Drag & Drop)剪貼
拖放動作對於使用者是很直覺的操作,而剪貼簿可以方便使用者於不同的應用程式間分享資料。
  •  
    • 拖放事件
    • 拖放的執行與接受
    • 剪貼簿(QClipboard)
  • 網路
Qt 的網路模組提供網路存取時的高階與低階 API,基於非同步(Asynchronous)及 Signal 的行為。
  •  
    • QHttp
    • QFtp
    • QTcpSocket
    • QTcpServer



進階議題

進階議題就是比較進階的議題。。XD

  • 多執行緒(Multithreading)
想要實作多執行緒功能,只要繼承 QThread 類別,單就表面上來看,執行緒並不困難。
  •  
    • QThread
    • 執行緒的停止
    • QMutex 與 QMutexLocker
    • QWaitCondition
    • QReadWriteLock 與 QSemaphore
    • QThreadStorage
  • 國際化(Internationalization)
讓您的應用程式可以因地制宜,顯示不同的語系文字。
  •  
    • 使用 Unicode
    • 翻譯應用程式
    • 多國語系選擇與切換



附錄
  • Qt 4 初體驗
  • Ubuntu 下安裝 Qt 4.3.1
  • Qt Eclipse integration for C++
  • QDeveloper: Free cross-platform Development Environment for Qt4

 



BloggerAds 廣告 幸福秘密在這裡!!
寬敞大空間、同級唯一配備後座獨立空調,讓全家六個人坐在一起還是好寬、好涼,新三代SAVRIN讓幸福家在一起!更多訊息..
Impr

 

原创粉丝点击