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

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

1、命令行程序

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

命令行程序的特色:ide

    A、基於順序結構執行函數

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

    C、程序執行結束給出最終運行結果操作系統

命令行程序適用場合:命令行

    A、單任務場合翻譯

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

    C、服務器應用場合設計

 

2、GUI程序

GUI程序的特色:調試

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

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

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

    D、通常程序執行後不會主動退出

GUI程序適用場合:

    A、多任務場合

    B、強用戶交互場合

    C、非專業計算機用戶

GUI程序運行模式:

wKioL1ft7r2iDH26AABpkgB3ps4387.png

GUI程序消息處理模型:

wKiom1ft7tuRz6KpAABxeDFvUoE344.png


3、GUI程序開發原理

現代操做系統都支持GUI程序開發,特色以下:

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

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

C、不一樣操做系統上的GUI開發原理相同

D、不一樣操做系統上的GUI SDK不一樣

GUI程序開發原理:

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

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

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

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

GUI程序開發過程:

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

B、在消息處理函數中根據程序消息作出不一樣相應

4、QT的本質

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

操做系統提供了建立界面元素所須要的函數,依次調用不一樣功能的函數就能夠建立出界面元素,但操做系統提供的原生函數沒法直接映射到界面元素。根據面向對象程序設計思想,將界面元素抽象爲類,GUI界面的建立過程就是組合不一樣界面元素對象的過程。

二、QT的本質

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

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

5、QT實例

一、實例源碼

#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();

}

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

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

wKiom1ft7wLQCgFHAABBriUAdQs869.png

點擊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

三、QT IDE開發環境

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

QT Creator環境的調試方法:

A、log調試法

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

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

qDebug() << "hello";

B、斷點調試法

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

相關文章
相關標籤/搜索