一、命令行程序
命令行程序是面向過程的程序設計。
命令行程序的特點:
A、基於順序結構執行
B、程序執行過程中不需與用戶交互
C、程序執行結束給出最終運行結果
命令行程序適用場合:
A、單任務場合
B、無交互、簡單交互場合
C、服務器應用場合
二、GUI程序
GUI程序的特點:
A、基於消息驅動模型的程序
B、程序執行依賴用戶交互過程
C、程序執行過程中實時響應用戶操作
D、一般程序執行後不會主動退出
GUI程序適用場合:
A、多任務場合
B、強用戶交互場合
C、非專業計算機用戶
GUI程序運行模式:
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 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開發環境打開工程後,可以在相應代碼行設置斷點,當程序運行到斷點行時會暫停運行,設置條件斷點時,當滿足條件時,程序才暫停運行。