QT 笔记6 | Qt网络编程
回顧:
1 Qt多線程(QThread)
1)創(chuàng)建線程
方法1:moveToThread
方法2:繼承QThread,重寫run函數(shù)
2)線程同步
互斥鎖:QMutex
信號(hào)量:QSemaphore
2 Qt數(shù)據(jù)庫(kù)(Sqlite)
1)創(chuàng)建數(shù)據(jù)表
CREATE TABLE 表名 (列名 類型 [約束],…);
2)刪除數(shù)據(jù)表
DROP TABLE 表名;
3)插入數(shù)據(jù)(增)
INSERT INTO 表名 (列名,…) VALUES(數(shù)值,…);
4)刪除數(shù)據(jù)(刪)
DELETE FROM 表名 WHERE 條件表達(dá)式;
5)修改數(shù)據(jù)(改)
UPDATE 表名 SET 列名=新數(shù)值,… WHERE 條件表達(dá)式;
6)查詢數(shù)據(jù)
SELECT 列名,… FROM 表名 WHERE 條件表達(dá)式 ORDER BY 列名 ASC/DESC;
3 在Qt中使用Sqlite數(shù)據(jù)庫(kù)(QT += sql)
1)建立Qt應(yīng)用程序和數(shù)據(jù)庫(kù)連接:QSqlDatabase
2)執(zhí)行Sql語(yǔ)句:QSqlQuery
3)獲取查詢結(jié)果集:QSqlQueryModel
案例:學(xué)生成績(jī)管理系統(tǒng)
1)工程名:Student
2)類名:StudentDialog
3)界面設(shè)計(jì)
–》拖拽需要使用的控件
ComboBox(2個(gè),組合框)
PushButton(4個(gè))
Label(3個(gè))
LineEdit(3個(gè))
TableView(1個(gè),表格:用于顯示查詢結(jié)果集)
–》設(shè)置對(duì)象名
ComboBox:valueComboBox condComboBox
Pusbutton:sortButton insertButton deleteButton updateButton
LineEdit: idEdit nameEdit scoreEdit
Label:默認(rèn)
TableView:默認(rèn)
一 Qt網(wǎng)絡(luò)編程
1 網(wǎng)絡(luò)編程基礎(chǔ)
1)網(wǎng)絡(luò)協(xié)議模型(OSI七層)
–》應(yīng)用層:HTTP
–》表示層
–》會(huì)話層
–》傳輸層:TCP、UDP
–》網(wǎng)絡(luò)層:IP
–》數(shù)據(jù)鏈路層
–》物理層
2)IP地址
–》概念:互聯(lián)網(wǎng)中的唯一地址標(biāo)識(shí)
–》IP地址表示方式
IPv4(32位整數(shù))、IPv6(128位整數(shù))
點(diǎn)分十進(jìn)制:“192.168.15.100”
無(wú)符號(hào)整數(shù):0xC0A80F64
–》查看IP地址命令
windows系統(tǒng):ipconfig
linux系統(tǒng):ifconfig
–》通過(guò)IP地址判斷兩臺(tái)主機(jī)能否通信
ping 對(duì)方IP地址;
–》特殊的IP地址
“0.0.0.0”//任意地址,常用于服務(wù)器
“127.0.0.1”//本地環(huán)回地址,常用于測(cè)試
"255.255.255.255"廣播地址
2 Qt中和網(wǎng)絡(luò)編程相關(guān)類(QT += network)
1)套接字基類:QAbstractSocket
2)TCP通信套接字:QTcpSocket
3)TCP服務(wù)器:QTcpServer
4)UDP通信套接字:QUdpSocket
5)IP地址:QHostAddress
案例:基于TCP協(xié)議的網(wǎng)絡(luò)聊天室
1)TCP服務(wù)器(Server)
–》使用QTcpServer創(chuàng)建服務(wù)器
–》響應(yīng)客戶端連接請(qǐng)求,保存和客戶端通信套接字
–》實(shí)時(shí)接收客戶端發(fā)來(lái)的消息
–》轉(zhuǎn)發(fā)消息給所有的客戶端
2)TCP客戶端(Client)
–》使用QTcpSocket創(chuàng)建和服務(wù)器通信的套接字
–》向服務(wù)器發(fā)送連接請(qǐng)求
–》輸入聊天消息,發(fā)送到服務(wù)器
–》接收服務(wù)器轉(zhuǎn)發(fā)的消息并顯示
周四任務(wù):為聊天室客戶端增加登錄對(duì)話框,程序啟動(dòng)時(shí)先顯示登錄窗口,登錄成功在進(jìn)入聊天室客戶端界面。
總結(jié)
以上是生活随笔為你收集整理的QT 笔记6 | Qt网络编程的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: hadoop常用命令总结
- 下一篇: 怎么用c语言调用其他程序,求助:1个调用