九九热最新网址,777奇米四色米奇影院在线播放,国产精品18久久久久久久久久,中文有码视频,亚洲一区在线免费观看,国产91精品在线,婷婷丁香六月天

歡迎來(lái)到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁(yè) 裝配圖網(wǎng) > 資源分類 > PPT文檔下載  

《QT圖形用戶界面》PPT課件.ppt

  • 資源ID:6618119       資源大?。?span id="24d9guoke414" class="font-tahoma">1.56MB        全文頁(yè)數(shù):44頁(yè)
  • 資源格式: PPT        下載積分:9.9積分
快捷下載 游客一鍵下載
會(huì)員登錄下載
微信登錄下載
三方登錄下載: 微信開(kāi)放平臺(tái)登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要9.9積分
郵箱/手機(jī):
溫馨提示:
用戶名和密碼都是您填寫(xiě)的郵箱或者手機(jī)號(hào),方便查詢和重復(fù)下載(系統(tǒng)自動(dòng)生成)
支付方式: 支付寶    微信支付   
驗(yàn)證碼:   換一換

 
賬號(hào):
密碼:
驗(yàn)證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會(huì)被瀏覽器默認(rèn)打開(kāi),此種情況可以點(diǎn)擊瀏覽器菜單,保存網(wǎng)頁(yè)到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請(qǐng)使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無(wú)水印,預(yù)覽文檔經(jīng)過(guò)壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標(biāo)題沒(méi)有明確說(shuō)明有答案則都視為沒(méi)有答案,請(qǐng)知曉。

《QT圖形用戶界面》PPT課件.ppt

圖形用戶界面QT第四章 本章計(jì)劃 可視對(duì)象的返回值和數(shù)據(jù)鼠標(biāo) 鍵盤 定時(shí)器等事件的捕捉一些事件的虛函數(shù)重載 信號(hào)從基類轉(zhuǎn)發(fā)掌握QDialog QTimer QTime掌握QSettings QSqlDatabase了解QtNetWork掌握QGraphicsView QGraphicsScene掌握QGraphicsItem QPixmap 計(jì)算器里的關(guān)于窗口 上面有2個(gè)按鈕 確定和取消 QMainWindow怎么知道你按了哪一個(gè)呢 首先 那個(gè)是一個(gè)按鈕組buttonBox 是QDialog組件里就關(guān)聯(lián)好信號(hào)的 在信號(hào)和槽編輯器里能看的到 我們可以看看QDialog的槽accept 和rejecct 起什么作用 看HELP文檔 可視對(duì)象的返回值和數(shù)據(jù) QDialog的槽accept 和rejecct HELP文檔里是這么解釋的 看懂了嗎 voidQDialog accept virtualslot HidesthemodaldialogandsetstheresultcodetoAccepted voidQDialog reject virtualslot HidesthemodaldialogandsetstheresultcodetoRejected voidQDialog accepted signal Thissignalisemittedwhenthedialoghasbeenacceptedeitherbytheuserorbycallingaccept ordone withtheQDialog Acceptedargument QDialog的返回值 跟據(jù)HELP文檔 我們可以這樣寫(xiě)代碼 鼠標(biāo) 鍵盤 定時(shí)器等事件的捕捉 事件在Qt里分很多種 比如鼠標(biāo) 鍵盤 定時(shí)器 窗體擴(kuò)大縮小 有鼠標(biāo)飄過(guò) 有數(shù)值變化等等 任何一個(gè)小動(dòng)作 在GUI里都會(huì)觸發(fā)某種事件 當(dāng)事件產(chǎn)生時(shí) 怎么來(lái)進(jìn)行處理呢 跟據(jù)C 的語(yǔ)言特性 虛函數(shù)重載可以解決這個(gè)問(wèn)題 所有可以處理的事件 一定都是虛函數(shù) 現(xiàn)在我們來(lái)做一個(gè)close事件處理 close事件的捕捉 還記得第一個(gè)例子嗎 一個(gè)按鈕一按就關(guān)閉窗口了 當(dāng)然按右上角的X 也可以關(guān)閉 但有的窗口按了右上角的X會(huì)跳出一個(gè)框來(lái) 這個(gè)是通過(guò)重載關(guān)閉事件而處理出的一個(gè)框 怎么做呢 QMainWindow的close事件在哪 剛剛講過(guò) 所有能處理的事件 一定是虛函數(shù) 那虛函數(shù)去哪找 去protected里找 現(xiàn)在我們要關(guān)閉的是QMainWindow 并且要它跳出那個(gè)框出來(lái) 怎么找相應(yīng)事件呢 來(lái)查下HELP文檔 QMainWindow的close事件在哪 點(diǎn)不出來(lái)吧 為啥 因?yàn)镼MainWindow沒(méi)有 那怎么查 去找它的基類 它一定是從基類里繼承了所有的事件 點(diǎn)進(jìn)Qwidget這個(gè)基類以后 再點(diǎn)ProtectedFuntions QMainWindow的close事件在哪 找到close事件了點(diǎn)進(jìn)看去說(shuō)明和例子 Bydefault theeventisacceptedandthewidgetisclosed Youcanreimplementthisfunctiontochangethewaythewidgetrespondstowindowcloserequests Forexample youcanpreventthewindowfromclosingbycallingignore onallevents 你看不懂可以復(fù)制查google百度有道翻譯就對(duì)了 要還在發(fā)呆 就是你的不對(duì)了 重載基類的虛函數(shù)的代碼怎么寫(xiě) 1 想想C 語(yǔ)法 派生類怎么去重載基類的虛函數(shù)把聲明抄過(guò)來(lái) cpp的重載代碼怎么寫(xiě) C語(yǔ)言就強(qiáng)調(diào)了 用誰(shuí)的東西 就include誰(shuí)的頭文件一按X就重載了close事件 在這里我們用QMessageBox速生成了一個(gè)小框 然后取它的返回值看你按了什么鍵 如果按的取消 據(jù)據(jù)QMainWindow的HELP文檔用ignore 接口忽略close事件 中文顯示的處理 includeintmain intargc char argv QApplicationa argc argv QTextCodec codec QTextCodec codecForName GB2312 QTextCodec setCodecForLocale codec QTextCodec setCodecForCStrings codec QTextCodec setCodecForTr codec MainWindoww w show returna exec 一個(gè)窗口有多少種事件可以處理呢 看看HELP文檔里的protected里有多少種事件一定要學(xué)會(huì)查HELP文檔 查google翻譯現(xiàn)在我們小試了中間的一個(gè)close事件 其它的事件后續(xù)會(huì)有介紹 來(lái)做一個(gè)定時(shí)器 我們需要用到QTimer這個(gè)類 查HELP文檔QTimer是個(gè)什么類 查接口 信號(hào) 槽 和例子 QTimer定時(shí)器 你可以先從DetailedDescription示例開(kāi)始看QTimer timer newQTimer this connect timer SIGNAL timeout this SLOT update timer start 1000 看到這個(gè)例子代碼 基本知道怎么用這個(gè)定時(shí)器了定時(shí)器對(duì)象需要生成 定時(shí)器用start 啟動(dòng) 有2個(gè)重載 帶形參的是毫秒間隙時(shí)間 定時(shí)器啟動(dòng)以后 每隔間隙時(shí)間發(fā)來(lái)一個(gè)timeout 信號(hào) 你可以去連接一個(gè)你的槽來(lái)處理 練習(xí)做定時(shí)器 要求 1 按start就開(kāi)始一秒一秒的計(jì)時(shí)2 按pause就暫停顯示 但背地里還在計(jì)時(shí) 再按pause就顯示實(shí)際的時(shí)間按stop就停 再按一次就清零按X退出時(shí) 要有對(duì)話框有幫助 關(guān)于QDialog 上面寫(xiě)上XXX幾幾年幾幾月幾日制做 版本V0 1 對(duì)Qt的幾點(diǎn)總結(jié)和感悟 做了一些GUI程序以后 我們總結(jié)一下Qt只是提供一些GUI的顯示 和一些功能類 對(duì)象與對(duì)象 對(duì)象與GUI的邏輯關(guān)聯(lián) 和Qt沒(méi)有關(guān)系Qt提供數(shù)據(jù)傳輸和通道方案邏輯關(guān)系完全是由C結(jié)構(gòu)實(shí)現(xiàn)Qt對(duì)象有什么功能 怎么和其它對(duì)象連接 要多查HELP文檔你體會(huì)出來(lái)了嗎 QtGUI鞏固練習(xí) 電子鐘 做一個(gè)電子鐘 24小時(shí)制顯示時(shí) 分 鈔時(shí)分鈔中的 需要一秒一閃當(dāng)按日期按鈕時(shí) 需要變成日期顯示日期格式年 月 日日期顯示完5秒后 又變回時(shí)間顯示查HELP里QTime時(shí)間類的使用 顯示用QLCDnumber類注意邏輯是C語(yǔ)法才能實(shí)現(xiàn) Qt的一些其它類QGraphicsView QGraphicsView動(dòng)態(tài)2D顯示容器查看一下HELP里它的DetailedDescriptionQGraphicsView提供了一個(gè)界面 它既可以管理大數(shù)量的定制2Ditems 又可與它們交互 有一個(gè)viewwidget可以把這些項(xiàng)繪制出來(lái) 并支持旋轉(zhuǎn)與縮放 這個(gè)柜架也包含一個(gè)事件傳播結(jié)構(gòu) 對(duì)于在scene中的這些items 它具有雙精度的交互能力 Items能處理鍵盤事件 鼠標(biāo)的按 移動(dòng) 釋放 雙擊事件 也可以跟蹤鼠標(biāo)移動(dòng) 整個(gè)框架是這樣的QGraphicsView容器 QGraphicsScene場(chǎng)景 QGraphicsItem圖元 Qt的一些其它類QGraphicsView QGraphicsView里包含了QGraphicsScene而QGraphicsScene擁有多個(gè)圖元 包含三層 背景層 圖元層 前景層QGraphicsItem圖元支持鼠標(biāo)事件 滾輪事件 上下文菜單事件支持鍵盤輸入焦點(diǎn) 按鍵事件支持拖放支持分組 Qt的一些其它類QGraphicsView QGraphicsItem圖元類 只是一個(gè)虛基類 有8種不同的派生類 QGraphicsEllipseItem橢圓圖元QGraphicsLineItem線圖元QGraphicsPathItem曲線圖元QGraphicsPixmapItem像素圖元QGraphicsPolygonItem多邊形圖元QGraphicsRectItem矩形圖元QGraphicsSimpleTextItem文本標(biāo)簽圖元QGraphicsTextItem文本瀏覽器圖元 Qt的一些其它類QGraphicsView 我們以QGraphicsPixmapItem像素圖元為例 介紹框架的連接QGraphicsPixmapItem像素圖元 也就是拿一張圖片來(lái)顯示圖元程序框架如下QMainWindow QGraphicsView容器 QGraphicsScene場(chǎng)景 QGraphicsPixmapItem像素圖元 Qt的一些其它類QGraphicsView QMainWindow和QGraphicsView怎么連接 畫(huà)上去就可以了拖過(guò)去 大約拉大一點(diǎn) View容器場(chǎng)景像素圖元 QGraphicsView容器 QGraphicsScene場(chǎng)景 QGraphicsPixmapItem像素圖元場(chǎng)影和圖元怎么連接View呢 場(chǎng)影和圖元在這里每個(gè)類需要派生一個(gè)自已改造的類 為此我們要建 h和 cpp場(chǎng)景我們建myScene圖元我們建myItem 建場(chǎng)景 1324 建圖元 用同樣的方法建圖元 并且是像素圖元注意 這里的類型信息沒(méi)有繼承自QObjectQGraphicsPixmapItem的基類是QGraphicsItem 但是QGraphicsItem并沒(méi)有繼承自QObject 這意味著QGraphicsPixmapItem不能使用信號(hào)和槽通信 View容器 場(chǎng)景 像素圖元 QGraphicsView容器 QGraphicsScene場(chǎng)景 QGraphicsPixmapItem像素圖元查HELP文檔View的DetailedDescription有一個(gè)例子 是用對(duì)象構(gòu)造的方法來(lái)加入了scene的關(guān)連QGraphicsViewview View容器 場(chǎng)景 在mainwindow h里包含myscene h頭文件 創(chuàng)建一個(gè)對(duì)象 調(diào)用setScene接口和View關(guān)連 場(chǎng)景 像素圖元 QGraphicsScene場(chǎng)景 QGraphicsPixmapItem像素圖元查HELP文檔QGraphicsScene找關(guān)連Item的接口 查add set之類的關(guān)鍵詞找到voidaddItem QGraphicsItem item 先不管空間泄露總之已經(jīng)關(guān)連了 2DQGraphicsView OK 我們完成了2D圖形的程序框架如下QMainWindow QGraphicsView容器 QGraphicsScene場(chǎng)景 QGraphicsPixmapItem像素圖元到此程序編譯成功 可以運(yùn)行 但是一片空白 為啥 因?yàn)閕tem并沒(méi)有貼上像素 也就是沒(méi)有貼圖片GUI也就是在繪圖 或是顯示圖片現(xiàn)在我們給Item貼上圖片 QGraphicsPixmapItem像素圖元貼圖 QGraphicsPixmapItem像素圖元查HELP文檔QGraphicsPixmapItem找相關(guān)貼圖的接口 還是找add set Pixmap相關(guān)的單詞 英語(yǔ)不好的童鞋好好查友道詞典 不要發(fā)呆 不要等別人現(xiàn)成的答案 QGraphicsPixmapItem像素圖元貼圖 找到voidsetPixmap constQPixmap形參需要一個(gè)QPixmap的類 繼續(xù)看QPixmapFormat格式支持里 支持BMPGIFJPGPNG等很多的圖片格式 但是原生只支持BMP和PNG 但其它的格式都通過(guò)了插件的模式支持了 怎么把圖片的格式轉(zhuǎn)換成QPixmap呢 找接口 圖片是一個(gè)文件 一個(gè)filename 就找filename相關(guān)QPixmap constQString fileName constchar format 0 Qt ImageConversionFlagsflags Qt AutoColor boolload constQString fileName constchar format 0 Qt ImageConversionFlagsflags Qt AutoColor 一個(gè)是構(gòu)造時(shí)就可以轉(zhuǎn)換 一個(gè)是用load 來(lái)轉(zhuǎn)換 QGraphicsPixmapItem像素圖元貼圖 要貼的圖片文件要先加入資源文件 這里取名ppp加完了以后 雙擊ppp qrc QGraphicsPixmapItem像素圖元貼圖 1231 添加前綴2 下面的前綴很長(zhǎng) 改成 在這里的路徑和程序里的路徑都按Linux Unix標(biāo)準(zhǔn)45度的杠執(zhí)行 3 把你要的圖片文件先復(fù)制到工程文件夾下 再去按 添加 添加文件 可以一次性框選多個(gè)文件 QGraphicsPixmapItem像素圖元貼圖 好了 開(kāi)始給Item貼圖這里調(diào)用QGraphicsPixmapItem的setPixmap 接口直接用QPixmap構(gòu)造函數(shù)生成無(wú)名對(duì)象輸入setPixmap 現(xiàn)在運(yùn)行一下程序看看 有圖片了 應(yīng)用 這么大的力氣 顯示了一張圖 你可以顯示4張圖 然后加上定時(shí)器 打地鼠 再多顯示幾張 圍棋 國(guó)際象棋 如果讓item在一秒內(nèi)多次移動(dòng)坐標(biāo)動(dòng)起來(lái)的話 對(duì)了 可以做俄羅斯方塊如果把圖片貼的漂亮一點(diǎn) 內(nèi)容再豐富一點(diǎn) 植物大戰(zhàn)僵尸 小鳥(niǎo) 沒(méi)有做不到 只有想不到 鼠標(biāo)事件響應(yīng) 還記得protected里的虛函數(shù)么 去找Item的虛函數(shù) 找mouse相關(guān)的虛函數(shù)重載來(lái)實(shí)現(xiàn)鼠標(biāo)事件處理virtualvoidmousePressEvent 還記得怎么重載虛函數(shù)不 鼠標(biāo)事件響應(yīng) 點(diǎn)了以后 讓他變張圖運(yùn)行一下試試看 變了沒(méi) 鼠標(biāo)事件響應(yīng)左右鍵區(qū)分雙鍵 查HELP文檔看形參上的QGraphicsSceneMouseEvent是個(gè)什么樣的類button 和buttons 2個(gè)接口用來(lái)返回你點(diǎn)了什么鍵注意它們的返回值 是宏定義Qt MouseButton 再去查是什么樣的東西 鼠標(biāo)事件響應(yīng)左右鍵區(qū)分雙鍵 首先你要用QGraphicsSceneMouseEvent的對(duì)象 頭文件不要忘了左 右雙鍵一點(diǎn)點(diǎn)換start png 只是左鍵就換lose png 運(yùn)行一下試試 文件名別打錯(cuò) 怎樣顯示多個(gè)圖片呢 多生成幾個(gè)item對(duì)象并不能看見(jiàn)多張圖片 重復(fù)打開(kāi)多個(gè)窗口會(huì)重疊 所以要對(duì)每張圖片設(shè)定坐標(biāo)避免重疊 查HELP坐標(biāo)和pos相關(guān) 圖形的邊界大小和bound相關(guān) 階段總結(jié) QT是用于多種平臺(tái)圖形界面程序開(kāi)發(fā)的C 工具包信號(hào)和槽機(jī)制是Qt編程的基礎(chǔ) 它使程序員可以方便的把這個(gè)程序的對(duì)象綁定在一起 但又不需要讓它們互相緊密關(guān)聯(lián) 2D圖形鼠標(biāo)事件練習(xí) 用QGraphicsView框架顯示4張圖片a做一個(gè)原始的打地鼠游戲要求 隨機(jī)的顯示圖片a一定的時(shí)間 當(dāng)鼠標(biāo)左鍵點(diǎn)擊時(shí) 換圖片b顯示點(diǎn)中的計(jì)分60秒后彈出一個(gè)框顯示你打中了幾個(gè) BTW可以拍同桌的睡相 吃相 XX相貼上去

注意事項(xiàng)

本文(《QT圖形用戶界面》PPT課件.ppt)為本站會(huì)員(sh****n)主動(dòng)上傳,裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng)(點(diǎn)擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因?yàn)榫W(wǎng)速或其他原因下載失敗請(qǐng)重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!