freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于qt的視頻聊天工具的設(shè)計與實現(xiàn)何毅(編輯修改稿)

2025-06-12 20:29 本頁面
 

【文章內(nèi)容簡介】 eyEvent *event) 鍵盤某個鍵被按下時實現(xiàn)相應(yīng)的功能 當鍵盤上有鍵被按下時,調(diào)用此方法 控件的設(shè)計 控件是 Qt Creator 中已經(jīng)封裝好的方法和數(shù)據(jù)。通過控件,用戶可以與之交互或者操作數(shù)據(jù)。 淮南師范學院 2021 屆本科畢業(yè)論文 15 表 2 成員變量 控件說明 控件類型 控件名 文本 加載 背景圖片 QImage loginImage 無 頭像 HeadSculpture * Head 無 IP 地址輸入的標簽 QLabel * ipLabel IP 地址 端口號輸入的標簽 QLabel * portLabel 端口號 用戶名輸入的標簽 QLabel * nameLabel 用戶名 IP 地址輸入的行編輯框 QLineEdit * ipLineEdit 端口號輸入的行編輯框 QlineEdit * portLineEdit 10001 用戶名輸入的行編輯框 QlineEdit * nameLineEdit 無 登錄按鈕 QPushButton * LoginBtn 登錄 退出按鈕 QToolButton * ExitBtn 無 鼠標的全局坐標 QPoint loginWindowsPos 無 連接服務(wù)器的線程 Thread * thread 無 信號與槽函數(shù)的設(shè)計 信號與槽 的 機制是 QT 的核心機制,它是一種用于對象之間的通信的高級接口,要想精通 QT 編程就必須對信號與槽有所了解。 表 3 信號 信號名稱 信號功能說明 sendIp(QString) 發(fā)送 IP 地址給客戶端線程 sendPort( QString) 發(fā)送端口號給客戶端線程 sendName(QString) 發(fā)送用戶名名給客戶端線程 基于 QT 的視頻聊天工具的設(shè)計與實現(xiàn) 16 表 4 槽函數(shù) 槽函數(shù) 槽函數(shù)功能說明 connectToServer() 連接到服務(wù)器的功能函數(shù) showMainInterface() 當接收到確認可以顯示主界面時,顯示主界面 userNameSame() 當服務(wù)器返回有相同用戶名時,段開與服務(wù)器連接的線程 checkUserName() 檢查當前用戶名是否合法 軟件設(shè)計 服務(wù)器模塊設(shè)計 (1)鏈表設(shè)計 (2)用戶登錄處理 (3)用戶登出處理 (4)用戶聊天信息處理 (5)用戶視頻請求處理 (5)用戶音頻請求處理 客戶端模塊設(shè)計 根據(jù)需求,客戶端模模塊主要分為以下幾個模塊:錄登模塊,主面界模塊,文字聊天模塊,視頻聊天模塊和語音聊天模塊。 登錄模塊 ( 1)登錄界面設(shè)計 ( 2)用戶名是否合法的設(shè)計。 主界面模塊 ( 1)主界面設(shè)計 ( 2)在線用戶顯示設(shè)計 ( 3)窗口拖動及縮放算法的設(shè)計 文字聊天界面模塊 ( 1)聊天界面設(shè)計 淮南師范學院 2021 屆本科畢業(yè)論文 17 ( 2)消息處 理設(shè)計。 視頻聊天模塊 ( 1)視頻聊天顯示界面設(shè)計 ( 2)請求方式設(shè)計。 語音聊天模塊設(shè)計 (1)語音聊天界面設(shè)計 (2)聊天計時設(shè)計。 窗口縮放算法設(shè)計 窗口縮放的實現(xiàn)其實是比較復(fù)雜的,我用的是 QT 中的 mouseMoveEvent,mousePressEvent, mouseReleaseEvent 等事件來處理。這里首先來了解一下我的九宮格的概念: 圖 7 窗體九宮格圖 在此,我將窗體分為上、下、左、右、左上、左下、右上、右下和中間部分,程序在設(shè)計時,除了中間的部分都要進行 處理。 我在程序中定義 PADDING 為 2,表示窗口邊緣的差值為 2 個 px。另外還定義一個枚舉類型 Direction,用來標志當前鼠標在窗體的哪個部分。在 mousePressEvent基于 QT 的視頻聊天工具的設(shè)計與實現(xiàn) 18 中,鼠標左鍵按下時,設(shè)置 isLeftPressDown 為真;在 mouseReleaseEvent 中,鼠標左鍵釋時,設(shè)置 isLeftPressDown 為假。在 mouseMoveEvent 中 isLeftPressDown為真且 eventx()在窗口邊緣及處理計算出鼠標移動的增量,然后不斷的 resize 窗口。這樣窗口縮放就可以實現(xiàn)了 。 5 測試分析 程序運行結(jié)果分析 ( 1)項目層次結(jié)構(gòu)圖 圖 8 項目層次結(jié)構(gòu)圖 ( 2)當用戶運行程序時,首先要輸入用戶名來登錄。在用戶名欄,用戶名不能為空,否則會提示 “請輸入用戶名 ”;輸入字符不能超過 15 個字符,否則會提示 “用戶名過長,請重新輸入用戶名 ”;若輸入的用戶名與已經(jīng)登錄服務(wù)器的用戶相同,則提示 “此用戶名已被注冊 ”;若以上情況均示發(fā)生,則可以正常登錄,如圖 9 所示。 淮南師范學院 2021 屆本科畢業(yè)論文 19 圖 10 登錄界面 ( 3)用戶 正常登錄后,若當前登錄用戶是第一個用戶,則不會顯示在線用戶,如果 不是第一個用戶,則 會顯示所有在線用戶,如圖 11 所示,目前登錄有三個用戶登錄,每一個客戶端只顯示其他兩個用戶; 圖 11 之后登錄各個主界面 基于 QT 的視頻聊天工具的設(shè)計與實現(xiàn) 20 (4)當一個用戶雙擊另一個用戶的用戶名時,彈出聊天界面。當用戶輸入聊天信息并發(fā)送給對方的同時,發(fā)出的聊天信息會顯示在聊天框內(nèi),我以紅色和藍色來區(qū)分是接收的信息,還是發(fā)送的信息(紅色是發(fā)出的信息,藍色接收到的信息),如圖 12 所示。 圖 12 文字聊天 ( 5)當用戶點擊左上方的視頻聊天按鈕時 ,可以請求與對方開啟視頻聊天,當用戶點擊請求時,會發(fā)送一條請求 等待對方同意 , 如圖 13 所。 淮南師范學院 2021 屆本科畢業(yè)論文 21 圖 13 視頻 請求 如果 對方同意,則可以開啟視頻;若對方不同意,則關(guān)閉當前窗口。 當對方同意后就可以開始看到對方的畫面了,其效果如圖 14 所示。 基于 QT 的視頻聊天工具的設(shè)計與實現(xiàn) 22 圖 14 視頻聊天界面實際效果圖 測試分析 在程序測試過程中,實際沒有達到預(yù)期的效果,因為中間偶爾會出現(xiàn)一些預(yù)期之外結(jié)果,例如,有時收到用戶信息時,在信息顯示區(qū)域不顯示用戶名。由于這是點對點之間的交流,并且聊天框上面顯示了與誰進行通話,所以沒有影響到軟件的使用。 6 總結(jié) 與展望 視頻聊天工具的文字聊天,視頻 等基本功能都已經(jīng)實現(xiàn) ,但是由于對音頻開發(fā)的知識 掌握不足,最終還未能實現(xiàn)預(yù)想的語音聊天的功能,希望自己在以后的學習和工作的過程中不斷收集和掌握此類的相關(guān)知識,并完善該功能 。 在實際的設(shè)計過程中,各對象之間頻繁的數(shù)據(jù)傳遞 遠 比想像中復(fù)雜的多,一不小心就會弄糊涂。所以,一定要保持頭腦清醒,思路清晰才能下手。這與我之前的設(shè)計相比,代碼量比較大的,但是由于沒有數(shù)據(jù)庫,目前能實現(xiàn)的功能也不多,以后可以進一步改進。 通過這次 設(shè)計 ,我做了一個完整的軟件。在軟件設(shè)計過程中,讓我掌握了如做制作 一個軟件以及軟件開發(fā)的流程,步驟,將專業(yè)知識以及其他方面的應(yīng)用到淮南師范學院 2021 屆本科畢業(yè)論文 23 實際。通過本次設(shè)計, 讓我進一步掌握 C++, Qt 的基礎(chǔ)知識,同時培養(yǎng)了我分析并解決問題的能力,提高了我設(shè)計分析,設(shè)計方法以及程序調(diào)試的能力并且還拓展了我的知識面。在本次設(shè)計過程中,我遇到了很多很多問題,與此同時我也認識到自己的不足,對之前學過的知識掌握的不夠扎實,以后工作的時候必然還會遇到比現(xiàn)在還要困難的問題,所以還要不斷鞏固自己的所學的知識。 參考文獻: [1] 霍亞飛 .QT Creator 快速入門 [M].北京 :北京航空航天大學出版社 .2021,5. [2] 龍令曼 .即時通信軟件中音視頻數(shù)據(jù)在互聯(lián)網(wǎng)上傳輸?shù)姆治雠c研究 [D].貴州:貴州大學 .2021, 5. [3] Daniel 小時學通 Qt 編程 [M].北京 :人民郵電出版社 .2021,10. [4] video for Linux resources[R/OL].[20210626]. [5] LinuxTV project V4L[R/OL].[20210828]. [6] SCHIMCK M H, DIRKS Bill. Video for Linux two API specification: draft [S/OL].[20211201]. [7] 陳莉君,康華,張波 .Linux 內(nèi)核設(shè)計與實現(xiàn) [M].2 版 .北京:機械工業(yè)出版社,2021. [8] 陳亮,裴 海龍, 伍越 .基于 . Video4Linux2 的圖采集程序設(shè)計 [J].微計算機信息 .2021. [9] RUBIN A. Linux 設(shè)備驅(qū)動程序 (第二版 )[M].北京:中國電力出版社 [10] 劉升,趙晶晶,范秀麗 . 基于 V4L2 的嵌入式視頻監(jiān)控系統(tǒng) . 微計算機應(yīng)用 . 2021. [11] 余棉水,解曉萌 . 嵌入式系統(tǒng) ALSA 聲卡驅(qū)動設(shè)計與實現(xiàn) [J]. 計算機光盤軟件設(shè)計與應(yīng)用 . 2021. [12] 張明俊,魏瑾 . 嵌入式 ALSA 音頻框架介紹與應(yīng)用 [J]. 電腦開發(fā)與應(yīng)用 .2021,26(9) [13] W. Richard Stevens. TCP/IP Illustrated, Volume 3, TCP for Transactions, HTTP, NNTP, and the UNIX Domain Protocols[M].人民郵電出版社 . . [14] 趙章界,余智華,張丙奇 . HTTP 協(xié)議流解析系統(tǒng)的設(shè)計與實現(xiàn) [J].計算機工程 . 基于 QT 的視頻聊天工具的設(shè)計與實現(xiàn) 24 2021. [15] 斯特朗斯特魯( Stroustrup .B.) . C++程序設(shè)計語言特別版 [M].北京:機械工業(yè)出版社, 2021, 7. [16] Jasmin Blanchette,Mark ++ GUI Qt 4 編程(第二版) [M].電子工業(yè)出版社 .2021. [17] 譚浩強 .C++面向?qū)ο蟪绦蛟O(shè)計 [M].清華大學出版社 .2021. 致謝 轉(zhuǎn)眼間 ,四年的大學時光就快結(jié)束了。精心準備了兩個多月的畢業(yè)設(shè)計終于可以劃上句號了。在作品的創(chuàng)作的過程中遇到的各種問題,讓人力不從心,現(xiàn)如今如釋重負。畢業(yè)設(shè)計創(chuàng)作的過程一點也不輕松,各種各樣的問題讓我感覺自身知識積累還不夠。第一次花費了這么久和這么多精力,獨立完成一套作品,其中的滋味讓人難以忘懷。 在這里,我要感謝我的指導(dǎo)老師李營老師。在她的悉心指導(dǎo),我順利的完成了此次畢業(yè)設(shè)計的。在她的指導(dǎo)下,我完成了論文的修改直到完成,給予了我很多的幫助。 基于 QT 的視頻聊天工具的設(shè)計與實現(xiàn) 2 附件: 大學本科生畢業(yè)論文 (設(shè)計 )規(guī)范 一、畢業(yè)論文(設(shè)計)格式規(guī)范 一份完整的畢業(yè)論文(設(shè)計) 材料 一般應(yīng)包括下列內(nèi)容: (一) 題目; (二)目錄 ; (三) 論文主體(包括 中 英 文摘要及關(guān)鍵詞 ; 正文 ; 致謝 ; 參考文獻 等); (四) 附錄 。 具體 分述如下: (一) 題目 題目應(yīng)力求簡短、精確、有概括性,直接反映畢業(yè)論文(設(shè)計)的中心內(nèi)容和學科特點。題目 一般不超過 20 個漢字,如確有必要,可用副標題作補充。 (二)目錄 畢業(yè)論文(設(shè)計)必須按其結(jié)構(gòu)順序編寫目錄,要求層次分明,體現(xiàn)文章展開的步驟和作者思路。目錄格式是論文的結(jié)構(gòu)層次,反映作 者的邏輯思維能力,所用格式應(yīng)全文統(tǒng)一,每一層次下的正文必須另起一行。目錄獨立成頁,以章、節(jié)、 小節(jié) 來編排 。 (三 ) 論文主體 中 英 文摘要及關(guān)鍵詞 摘要一般不分段,不用圖表,以精煉的文字對畢業(yè)論文(設(shè)計)的內(nèi)容、觀點、方法、成果和結(jié)論進行高度概括,具有獨立性和自含性,自成一篇短文,具有報導(dǎo)作用。中文摘要 一般以200300 個字為宜。 關(guān)鍵詞是反映畢業(yè)論文(設(shè)計)內(nèi)容主題的詞或詞組,一般 3~ 5 個。 其中英文摘要與中文摘要 基本 對應(yīng),英文關(guān)鍵詞之間用 分 號分開 ,最后一個關(guān)鍵詞后不加任何標點 。 正文 包括 引言、正文、 結(jié)論等部分 。 ( 1)引言 引言也稱前言、導(dǎo)論、導(dǎo)言、緒言、緒論等。 它的作用是向讀者初步介紹文章的背景和內(nèi)容,通常包括以下幾個方面:為什么寫這篇文章,要解決什么問題;論文的主要觀點;與課題相關(guān)的歷史回顧;寫作資料的來源、性質(zhì)及其運用情況,論文的規(guī)劃和簡要內(nèi)容;研究中的新發(fā)現(xiàn);課題的意義等。 ( 2)正文 正文 是 論文 的 核心部分,是作者學術(shù)理論水平和創(chuàng)造性工作的綜合體現(xiàn),是作者運用掌握的材料與方法進行論證、得出結(jié)論的部分,其任務(wù)是分析問題和解決問題。根據(jù)不同論文研究的課題性質(zhì)、研究方法的不同,理論型、實驗型和描述型 論文的正文格式和寫法不盡相同,但他們的要求是一致的。即: 主題明確:全文圍繞主題展開討論,不離題; 論證充分:
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1