24小時學通Qt編程
㈠ 如何學習Qt
我們假設你已經熟悉C++了!
請先閱讀一下 Qt 白皮書。它包含一個關於Qt 軟體的概述,並且提供了一些用來示範使用Qt 進行編程的代碼的片斷。
它會給你一個「大的圖畫」。
如果你想使用一個設計工具來設計你的用戶界面,那麼你至少要先閱讀 Qt 設計器手冊的前幾章。在這之後,學習一下上面提到的純粹的C++教程(教程1 和教程2)還是很值得的。
到現在為止,如果你已經完成了一些小的可以工作的應用程序並且對 Qt 編程有了一個主要的了解。你可以直接開始你自己的項目了,但我們建議你閱讀一些關鍵的概述來加深你對Qt 的理解:對象模型和信號和槽。
在這里我們建議你看一下概述並且閱讀一些和你的項目相關的文章。
你也許會發現瀏覽和你項目做相同事情的實例的源代碼是非常有用的。
你也可以閱讀Qt 的源代碼,因為它們也被提供。
如果你運行 demo 這個應用程序(在$QTDIR/examples/demo),你就會看到很多運轉中的Qt 窗口部件
Qt 提供了廣泛的文檔,完全前後參考的超文本,所以你可以很容易地按你喜歡的方式進行點擊。在文檔中,你最經常使用的部分可能就是API 參考。每一個鏈接都提供了一個不同的方式來導航API 參考,全都試試,看哪一個更適合你。
你現在應該已經准備好你的偉大工程:祝你好運,玩得開心!
㈡ Qt編程好難學啊,資料那麼少,怎麼辦
哪裡難學了,官方的例子就完整到爆。
學4.8.x的話有中文譯本的書,寫得不錯的。c++ gui qt4。
5.x的話國內資料比較少,用的人也不多。大家主要觀望5.2在android和ios平台上的支持性,現在qwidget不是主流支持了,上次去qt官方的培訓時都是拿qml做演示的,那個很好學,不過現成控制項不如widget豐富。
㈢ 使用QT做界面該怎麼下手呀 我從來沒用過QT 希望你幫忙指點一下,真的謝謝了
首先你要熟悉C++,如果你不熟悉C++,那麼看Qt會異常的吃力。
我假設你已經熟悉C++與面向對象的知識了,用Qt做界面的話,可以使用代碼編寫界面,也可以使用Qt軟體自帶的designer直接把所需要的控制項拖進去,然後可以通過編譯器自動生成所相應的代碼,生成的代碼會把你所需要使用的指針傳給你,這樣你就可以操作界面上的控制項了。
推薦閱讀Qt自帶的assistant,如果對閱讀英語感覺吃力,可以買《精通Qt4編程》閱讀,但是其實上面都是翻譯的assistant文檔。
Qt中文論壇不錯,可以去學習很多基礎知識與技巧:http://www.qtcn.org/bbs/index.php?m=bbs
㈣ 什麼是QT圖形編程
QT是一種圖形界面編程工具。所謂QT圖形編程就是用QT開發具有圖形用戶界面的程序。
㈤ 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顯示串口信息實例
㈥ QT界面編程-伺服器配置界面實現
界面採用QTableWidget控制項做列表.
寫配置文件,採用QSettings類操作文件。
----------------------------------------------------------
建立信號\槽,QTableWidget改變之後,發送singal,你直接操作QSettings就可以了;
如果是配置文件改變,這個你需要使用QTimer一直檢查配置文件,如果有改變,你就更改QTableWidget就可以了