❶ 如何提高Qt編程能力
main.cpp :
#include <QApplication>#include <QMainWindow>int main(int argc, char *argv[]){
QApplication app(argc, argv);
QMainWindow mw;
mw.show();
app.exec();}
>qmake -project
>qmake
>make
把這段代碼背下來,然後到各個OS下編譯 運行,感受下橡漏Qt帶來的美感,還有什梁裂爛么其他框架能做到這么簡潔高效的編程體驗呢?(僅限C++語言)。
無論學什麼,都要從喜歡開始,你會愛上Qt的,有了愛其他都不是源腔問題了。
❷ 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 是同類型的東西。
(2)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編程問題
1、關聯Qt庫。如果是分別安裝的Qt Creator和Qt庫,而不是安裝集成Qt Creator和Qt庫的SDK,則需要手動關聯Qt庫。打開工具→選項菜單,然後選擇「構建和運行」一項,再進入Qt版本選項卡。點擊右上角的「添加」按鈕,然後會讓選擇qmake.exe文件,我們在Qt(不是Qt Creator)安裝目錄的bin目錄中找到該文件並打開。現在已經默認生成了版本信息,我們點擊確定按鈕即可。
2、關聯MinGW。在安裝Qt 4.8.6及以後的Qt 4版本時,應該按照安裝時的提示來下載相應版本的MinGW,不然編譯程序無法運行。如果是Qt4版本,需要使用GCC 4.4,也就是MinGW需要是4.4版本的,其他新的版本均不可用。在Qt 4.8版本,需要下載並指定GDB才能正常調試。下載完MinGW和GDB以後,將其解壓到Qt的安裝目錄中,比如這里都解壓到了C:Qt目錄中。打開工具→選項菜單,然後選擇「構建和運行」一項,再進入工具鏈選項卡。點擊右上角的「添加」按鈕,然後會讓選擇mingw32-g++.exe文件,我們在MinGW安裝目錄的bin目錄中找到該文件並打開。關聯GDB則進入調試器選項卡添加GDB相關exe文件。
如果安裝的是集成開發包QtSDK,則不需要手動關聯Qt庫、MinGW和GDB,由Qt自動關聯。
注意:Qt5以後版本默認也包含了所有需要的工具,不存在這里的情況,直接下載安裝即可使用!
3、在創建桌面版項目時,最好選中「使用影子構建」,這樣編譯生成的文件會和源碼分別存放,如下圖所示。編譯完成後會發現多了一個helloworld-build-desktop-Qt_4_8_1__4_8_1____目錄,裡面存放的就是編譯生成的文件。這就是前面創建項目講到的 「使用影子構建」 ,如果沒有選中這個,那麼生成的文件就會和源碼在同一個目錄里。
13、狀態信息可以被分為三類:臨時信息,如一般的statusTip提示信息,上面講到的動作提示就是臨時信息;正常信息,如顯示頁數和行號;永久信息,如顯示版本號或者日期。可以使用showMessage()函數來顯示一個臨時消息,它會出現在狀態欄的最左邊。一般用statusBar->addWidget()函數添加一個QLabel到狀態欄上用於顯示正常信息,它會生成到狀態欄的最左邊,可能會被臨時消息所掩蓋。如果要顯示永久信息,要使用statusBar->addPermanentWidget()函數來添加一個如QLabel一樣的可以顯示信息的部件,它會生成在狀態欄的最右端,不會被臨時消息所掩蓋。
14、關於隨機數,在Qt中是使用qrand()和qsrand()兩個函數實現的。在使用qrand()函數產生隨機數之前,一般要使用qsrand()函數為其設置初值,如果不設置初值,那麼每次運行程序,qrand()都會產生相同的一組隨機數。為了每次運行程序時,都可以產生不同的隨機數,我們要使用qsrand()設置一個不同的初值。
❹ 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編程入門
QWidget::connect(&button[i],SLOT(clicked()),display,SLOT(setText(QString::number(i+1))));
SIGNAL:clicked();
那SLOT,就是接收函數需要和SIGNAL的函數參數要保持一致。
❻ 什麼是QT圖形編程
QT是一種圖形界面編程工具。所謂QT圖形編程就是用QT開發具有圖形用戶界面的程序。
❼ LINUX環境,QT編程,應重點學習哪些內容
我是RHCE和高程(好像不值一提),發表一些個人看法:
1. 個人做程序員7年,平台涉及UNIX, LINUX, WINDOWS,但都沒用過QT編程
2. 我對QT的理解是跨平台的窗口技術,這個技術應該是有可替代性,換句話講是可替代的,如:SWING
3. 選擇少人學的技術,意味著難上手、難提高、難找相應的工作;學LINUX不比學VC好找工作
個人建議學習一些平台無關的基礎知識(數據結構、UML、設計模式等)後,用VC或ECLIPSE做幾個具體的小項目,這樣找工作的時候可能比會一點QT更有競爭力。
一家之言,供參考。
❽ Qt網路編程
Qt網路模塊為我們提供了編寫TCP / IP客戶端和伺服器的類。 它提供了較低級別的類,例如代表低級網路概念的QTcpSocket,QTcpServer和QUdpSocket,以及諸如QNetworkRequest,QNetworkReply和QNetworkAccessManager之類的高級類來執行使用通用協議的網路操作。 它還提供了諸如QNetworkConfiguration,QNetworkConfigurationManager和QNetworkSession等類,實現承載管理。
要使用Qt網路類需要:
#include <QtNetwork>
要鏈接到Qt網路模塊需要:
QT += network
名稱空間
網路類
網路訪問API是用於執行常見網路操作的類的集合.API在所使用的特定操作和協議(例如,通過HTTP獲取和發布數據)上提供了一個抽象層,並且僅暴露了一般或高級概念的類,函數和信號。
❾ 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編程
我的Qt學習路線:
本身具備:精良的MFC編程能力及項目經驗,一般的C++標准語法,一般的C++設計基礎。
本身積累了不多的項目開發經驗。
Qt學習路線:
配置VC++6.0和Qt4.4.0,編譯Qt4.4.0庫。網路查找相關資料和書籍。
閱讀《QT學習筆記.doc》、《Qt4入門中文版.pdf》並練習、《QT中文手冊.pdf》、《Qt學習之路》系列。
用Qt升級改造VC++6.0示波器程序,查看聯機幫助。
安裝QtCreator開發環境開發ERP程序。
項目需要吧,現在接觸的反而少了一些。不過希望這個學習過程能夠對您有所幫助。
既然你已經配置好開發環境了,那麼也就離成功不遠了,祝賀!
箴言:不求精通、熟練,但求能夠循循道來、操之用之即可。