QT開發(三)——GUI原理分析

一、命令行程序

命令行程序是面向過程的程序設計。

命令行程序的特點:

A、基於順序結構執行

B、程序執行過程中不需與用戶交互

C、程序執行結束給出最終運行結果

命令行程序適用場合:

A、單任務場合

B、無交互、簡單交互場合

C、服務器應用場合

二、GUI程序

GUI程序的特點:

A、基於消息驅動模型的程序

B、程序執行依賴用戶交互過程

C、程序執行過程中實時響應用戶操作

D、一般程序執行後不會主動退出

GUI程序適用場合:

A、多任務場合

B、強用戶交互場合

C、非專業計算機用戶

GUI程序運行模式:

QT開發(三)——GUI原理分析

GUI程序消息處理模型:

QT開發(三)——GUI原理分析

三、GUI程序開發原理

現代操作系統都支持GUI程序開發,特點如下:

A、操作系統提供原生SDK支持GUI程序開發

B、GUI程序開發是現代操作系統的主流技術

C、不同操作系統上的GUI開發原理相同

D、不同操作系統上的GUI SDK不同

GUI程序開發原理:

A、GUI程序在運行時會創建一個消息隊列

B、系統內核將用戶操作翻譯為對應的程序消息

C、程序在運行過程中需要實時處理消息隊列中的消息

D、當隊列中沒有消息時,程序將處於停滯狀態

GUI程序開發過程:

A、創建窗口、窗口元素GUI界面

B、在消息處理函數中根據程序消息做出不同相應

四、QT的本質

1、面向對象的GUI程序設計

操作系統提供了創建界面元素所需要的函數,依次調用不同功能的函數就可以創建出界面元素,但操作系統提供的原生函數無法直接映射到界面元素。根據面向對象程序設計思想,將界面元素抽象為類,GUI界面的創建過程就是組合不同界面元素對象的過程。

2、QT的本質

QT是利用面向對象程序設計思想開發的一套GUI組件庫,QT將不同操作系統的GUI細節封裝於類內部,並提供了一套跨平臺的類用於GUI程序開發。

QT遵循經典的GUI程序開發模式。

五、QT實例

1、實例源碼

#include <QApplication>

#include <QMainWindow>

#include <QPushButton>

int main(int argc, char* argv[])

{

QApplication a(argc, argv);

QMainWindow w;

QPushButton b(&w);

b.setText("Hello QT!");

w.show();

return a.exec();

}

2、QT開發環境命令行編譯

A、進入QT開發環境命令行

QT開發(三)——GUI原理分析

點擊QT 4.7.4 Command Prompt進入QT開發環境命令行環境。

B、進入源程序所在目錄

C、根據源碼生成工程文件

qmake -project

生成過程文件xxxxx.pro

D、根據工程文件生成Makefile文件

qmake

生成Makefile、Makefile.Debug、Makefile.Release文件和release、debug目錄

E、編譯

make

編譯生成可執行文件xxx.exe

3、QT IDE開發環境

QT Creator是QT的可視化集成開發環境。

QT Creator環境的調試方法:

A、log調試法

在代碼中加入一定打印語句,打印出程序狀態和關鍵變量的值

Log打印需要添加#include <QDebug>

qDebug() << "hello";

B、斷點調試法

在QT Creator開發環境打開工程後,可以在相應代碼行設置斷點,當程序運行到斷點行時會暫停運行,設置條件斷點時,當滿足條件時,程序才暫停運行。

相關推薦

推薦中...