❶ Qt是什麼
Qt一個1991年由Qt Company開發的跨平台C++圖形用戶界面應用程序開發框架。它既可以開發GUI程序,也可用於開發非GUI程序,比如控制台工具和伺服器。Qt是面向對象的框架,使用特殊的代碼生成擴展(稱為元對象編譯器(Meta Object Compiler, moc))以及一些宏,Qt很容易擴展,並且允許真正地組件編程。
基本上,Qt 同X Window上的 Motif,Openwin,GTK 等圖形界 面庫和 Windows 平台上的MFC,OWL,VCL,ATL 是同類型的東西。
(1)qt編程資料擴展閱讀:
Qt的優點:
1、優良的跨平台特性:
Qt支持下列操作系統: Microsoft Windows 95/98, Microsoft Windows NT, Linux, Solaris, SunOS, HP-UX, Digital UNIX (OSF/1, Tru64), Irix, FreeBSD, BSD/OS, SCO, AIX, OS390,QNX 等等。
2、面向對象:
Qt 的良好封裝機制使得 Qt 的模塊化程度非常高,可重用性較好,對於用戶開發來說是非常 方便的。 Qt 提供了一種稱為 signals/slots 的安全類型來替代 callback,這使得各個元件 之間的協同工作變得十分簡單。
3、豐富的 API:
Qt 包括多達 250 個以上的 C++ 類,還提供基於模板的 collections, serialization, file, I/O device, directory management, date/time 類。甚至還包括正則表達式的處理 功能。
4、支持 2D/3D 圖形渲染,支持 OpenGL。
5、大量的開發文檔。
6、XML 支持。
❷ QT是什麼意思
QT是C++圖形用戶界面應用程序開發框架。
Qt是一個1991年由Qt Company開發的跨平台C++圖形用戶界面應用程序開發框架。它既可以開發GUI程序,也可用於開發非GUI程序,比如控制台工具和伺服器。
Qt是面向對象的框架,使用特殊的代碼生成擴展(稱為元對象編譯器(Meta Object Compiler, moc))以及一些宏,Qt很容易擴展,並且允許真正地組件編程。
QT的優勢:
優良的跨平台特性:
Qt支持下列操作系統: Microsoft Windows 95/98, Microsoft Windows NT, Linux, Solaris, SunOS, HP-UX, Digital UNIX (OSF/1, Tru64), Irix, FreeBSD, BSD/OS, SCO, AIX, OS390,QNX 等等。
面向對象
Qt 的良好封裝機制使得 Qt 的模塊化程度非常高,可重用性較好,對於用戶開發來說是非常方便的。 Qt 提供了一種稱為 signals/slots 的安全類型來替代 callback,這使得各個元件之間的協同工作變得十分簡單。
❸ Qt高級編程的目錄
《qt高級編程》
第1章 混合桌面/internet應用程序
1.1 internet相關窗口部件
1.2 webkit的使用
第2章 聲音和視頻
2.1 qsound和qmovie的使用
2.2 phonon多媒體框架
第3章 模型/視圖表格模型
3.1 qt的模型/視圖架構
3.2 用於表格的qstandarditemmodel
3.3 創建自定義表格模型
第4章 模型/視圖樹模型
4.1 用於樹qstandarditemmodel的用法
4.2 創建自定義樹模型
第5章 模型/視圖委託
5.1 與數據類型相關的編輯器
5.2 與數據類型相關的委託
5.3 與模型相關的委託
第6章 模型/視圖中的視圖
6.1 qabstractitemview子類
.6.2 與模型相關的可視化視圖
第7章 用qtconcurrent實現線程處理
7.1 在線程中執行函數
7.2 線程中的過濾和映射
第8章 用qthread實現線程處理
8.1 獨立項的處理
8.2 共享項的處理
第9章 創建富文本編輯器
9.1 qtextdocument簡介
9.2 創建自定義的文本編輯器
9.3 一個單行的富文本編輯器
9.4 編輯多行的富文本
第10章 創建富文本文檔
10.1 高質量地輸出qtextdocument文件
10.2 創建qtextdocument
10.3 輸出和列印文檔
10.4 繪制頁面
第11章 創建圖形/視圖窗口
11.1 圖形/視圖架構
11.2 圖形/視圖窗口部件和布局
11.3 圖形項簡介
第12章 創建圖形/視圖場景
12.1 場景、項和動作
12.2 增強qgraphicsview的功能
12.3 創建可停靠的工具箱窗口部件
12.4 創建自定義圖形項
第13章 動畫和狀態機框架
13.1 動畫框架簡介
13.2 狀態機框架簡介
13.3 動畫和狀態機的結合
結束語
精選書目
❹ 《Qt5編程入門》pdf下載在線閱讀,求百度網盤雲資源
《Qt5編程入門》霍亞飛程梁電子書網盤下載免費在線閱讀
鏈接:
書名:Qt5編程入門
作者名:霍亞飛程梁
出版社:北京航空航天大學出版社
出版年份:2015-1-30
頁數:388
內容介紹:
全新,基於 Qt 5.3 編寫,全面涉及 Qt Quick;經典,植根於 Qt 網路博客教程,可無限更新;基礎,對每個知識點詳盡講解,並設計了示常式序;系統,與《Qt Creator 快速入門(第2版)》相輔相成;
作者介紹:
霍亞飛:嵌入式軟體工程師,熱愛編程,熱愛開源!在博客中發表了大量Qt、Linux教程和開源軟體,被眾多網友奉為經典!參與創建Qt愛好者社區,進行Qt及開源項目的推廣和普及!程梁:軟體研發工程師,關注IT技術的創新和改革,專注於Qt技術開發教程的編寫。建立博客,創作大量有創意、實踐性強的技術開發文章,與廣大網友分享、互動,在網路上廣受好評。致力於帶領廣大Qt愛好者步入Qt的精彩世界,與更多朋友分享成功的樂趣。
❺ qt書籍推薦
《Qt Creator快速入門》
這本書寫得通俗易懂。與之配套的還有一個叫《Qt及Qt Quick開發實戰精解》,屬小項目實戰,在入門的基礎上學習。
《精通Qt4編程》
網上版本好像有些模糊,如果覺得不好,也很值得買一本。
《C++ GUI Qt4 編程》
比較高級,不是基礎書,初學絕對不能搞這本。很多人都說是經典。
《Qt高級編程》
正如書題,是高級版的,也是老外寫的,應該經典。這本書主要講解QT網路模塊、MVC、線程、富文本、視圖框架、動畫框架等幾個方面屬於QT高級使用范疇。
《C++設計模式--基於Qt4開源跨平台開發框架》
假設已經熟悉C++了,請先閱讀一下Qt白皮書。它包含一個關於Qt軟體的概述,並且提供了一些用來示範使用Qt進行編程的代碼的片斷。它會給你一個「大的圖畫」。
如果想要完全的在C++中進行編程,不使用任何設計工具的幫助下在代碼中設計你的界面,請閱讀教程。教程1就是被設計成把你帶入Qt編程的一個教程,它更強調的是編寫代碼而不是一個特徵的漫遊。教程2是一個更加真實的例子,示範了如何編寫菜單、工具條、文件的載入和保存、對話框等地那個。
如果你想使用一個設計工具來設計你的用戶界面,那麼你至少要先閱讀Qt設計器手冊的前幾章。
到現在為止,如果你已經完成了一些小的可以工作的應用程序並且對Qt編程有了一個主要的了解。你可以直接開始你自己的項目了,但我們建議你閱讀一些關鍵的概述來加深你對Qt的理解:對象模型和信號和槽。
在這里建議看一下概述並且閱讀一些和你的項目相關的文章。也許會發現瀏覽和你項目做相同事情的實例的源代碼是非常有用的。也可以閱讀Qt的源代碼,因為它們也被提供。
如果運行demo這個應用程序(在$QTDIR/examples/demo),你就會看到很多運轉中的Qt窗口部件
Qt提供了廣泛的文檔,完全前後參考的超文本,所以你可以很容易地按你喜歡的方式進行點擊。在文檔中,你最經常使用的部分可能就是API參考。每一個鏈接都提供了一個不同的方式來導航API參考,全都試試,看哪一個更適合你。
❻ QT開發(五十)——QT串口編程基礎
一、QtSerialPort簡介
1、串口通信基礎
目前使用最廣泛的串口為DB9介面,適用於較近距離的通信。一般小於10米。DB9介面有9個針腳。
串口通信的主要參數如下:
A、波特率:衡量通信速度的參數,表示每秒鍾傳送的bit的個數。例如9600波特表示每秒鍾發送9600個bit。
B、數據位:衡量通信中實際數據位的參數,當計算機發送一個信息包,實際包含的有效數據位個數。
C、停止位:用於表示單個包的最後一位。典型的值為1和2位。
D、奇偶校驗位:串口通信中一種檢錯方式。常用的檢錯方式有:偶、奇校驗。
2、QtSerialPort模塊簡介
QtSerialPort模塊是QT5中附加模塊的一個模塊,為硬體和虛擬的串口提供統一的介面。
串口由於其簡單和可靠,目前在像嵌入式系統、機器人等工業中依舊用得很多。使用QtSerialPort模塊,開發者可以大大縮短開發串口相關的應用程的周期。
Qt SerialPort提供了基本的功能,包括配置、I/O操作、獲取和設置RS-232引腳的信號。
Qt SerialPort模塊暫不支持以下特性:
A、終端的特性,例如回顯,控制CR/LF等等
B、文本模式段飢
C、讀或寫操作的超時和延時配置
D、當RS-232引腳信號變化通知
#include <QtSerialPort/QtSerialPort>
要鏈接QtSerialPort模塊,需要在.pro文件中添加如下內容:
QT += serialport
二、QSerialPort
1、QSerialPort簡介仔賀
QSerialPort提供了訪問串口的介面函數。使用輔助類QSerialPortInfo可以獲取可用的串口信息。將QSerialPortInfo輔助類對象做為參數,使用setPort()或setPortName()函數可以設置要訪問的串口設備。
設置好埠後,可以使用open()函數以只讀、只寫或讀寫的模式打開使用。
注意,串口使用獨占方式打開。
使用close()函數關閉串口並且取消IO操作。
串口成功打開後,QSerialPort會嘗試確定串握戚返口的當前配置並初始化。可以使用setBaudRate()、setDataBits()、setParity()、setStopBits()和setFlowControl()函數重新配置埠設置。
有一對名為QSerialPort::dataTerminalReady、QSerialPort::requestToSend的屬性
QSerialPort提供了中止正在調用線程直到信號觸發的一系列函數。這些函數用於阻塞串口。
waitForReadyRead():阻塞調用,直到有新的數據可讀
waitForBytesWritten():阻塞調用,直到數據以及寫入串口
阻塞串口編程與非阻塞串口編程完全不同。阻塞串口不會要求時間循環並且通常會簡化代碼。然而,在GUI程序中,為了避免凍結用戶界面,阻塞串口編程只能用於非GUI線程。
QSerialPort也能使用QTextStream和QDataStream的流操作符。在試圖使用流操作符>>讀時,需要確保有足夠可用的數據。
2、QSerialPort成員函數
QSerialPort::QSerialPort(QObject *parent = Q_NULLPTR)
QSerialPort::QSerialPort(const QString &name, QObject *parent = Q_NULLPTR)
QSerialPort::QSerialPort(const QSerialPortInfo &serialPortInfo, QObject *parent = Q_NULLPTR)
[virtual] bool QSerialPort::atEnd() const
[signal] void QSerialPort::baudRateChanged(qint32 baudRate, QSerialPort::Directions directions)
[virtual] qint64 QSerialPort::bytesAvailable() const
[virtual] qint64 QSerialPort::bytesToWrite() const
[virtual] void QSerialPort::close()
void QSerialPort::setPort(const QSerialPortInfo &serialPortInfo)
void QSerialPort::setPortName(const QString &name)
三、QSerialPortInfo
1、QSerialPortInfo簡介
QSerialPortInfo類提供已有串口設備的信息。使用QSerialPortInfo類的靜態成員函數生成QSerialPortInfo對象的鏈表。鏈表中的每個QSerialPortInfo對象代表一個串口,每個串口可以使用埠名、系統定位、描述、製造商查詢。QSerialPortInfo類對象也可以用做QSerialPort類的setPort()成員函數的參數。
2、QSerialPortInfo成員函數
QSerialPortInfo::QSerialPortInfo(const QSerialPort &port)
QSerialPortInfo::QSerialPortInfo(const QString &name)
QSerialPortInfo::QSerialPortInfo(const QSerialPortInfo &other)
[static] QList<QSerialPortInfo> QSerialPortInfo::availablePorts()
QString QSerialPortInfo::description() const
bool QSerialPortInfo::hasProctIdentifier() const
bool QSerialPortInfo::hasVendorIdentifier() const
bool QSerialPortInfo::isBusy() const
QString QSerialPortInfo::manufacturer() const
QString QSerialPortInfo::portName() const
quint16 QSerialPortInfo::proctIdentifier() const
QString QSerialPortInfo::serialNumber() const
[static] QList<qint32> QSerialPortInfo::standardBaudRates()
void QSerialPortInfo::swap(QSerialPortInfo &other)
QString QSerialPortInfo::systemLocation() const
quint16 QSerialPortInfo::vendorIdentifier() const
3、QSerialPortInfo顯示串口信息實例