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

正文內(nèi)容

基于qt的嵌入式終端應(yīng)用程序開(kāi)發(fā)-記事本和電子相冊(cè)開(kāi)發(fā)計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)(編輯修改稿)

2025-01-12 09:27 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 看到了 linux在嵌入式系統(tǒng)中的輝煌前景。 嵌入式產(chǎn)品中選擇什么樣的操作系統(tǒng)極為重要,嵌入式 Linux 由 于其開(kāi)源特性、實(shí)時(shí)性好、可移植、內(nèi)置網(wǎng)絡(luò)支持等優(yōu)點(diǎn)在嵌入式領(lǐng)域成為主力軍。如今,業(yè)界已經(jīng)達(dá)成共識(shí):即嵌入式 linux 是大勢(shì)所趨,其巨大的市場(chǎng)潛力與醞釀的無(wú)限商機(jī)必然會(huì)吸引眾多的廠商進(jìn)入這一領(lǐng)域。 Qt開(kāi)發(fā)工具簡(jiǎn)介 Qt主要特性 Qt 是一個(gè)跨平臺(tái)的 C++圖形用戶界面庫(kù),由挪威 TrollTech 公司開(kāi)發(fā),目前包括Qt/X1基于 Framebuffer 的 Qt/Embedded、快速開(kāi)發(fā)工具 Qt Designer 以及國(guó)際化工具Qt Linguist 等。人們所熟知的 Linux下面的 KDE 環(huán)境就是基于 Qt開(kāi)發(fā)而成的。 Qt支持Unix和 Linux系統(tǒng)以及 Windows 系統(tǒng)。 Qt 的主要特點(diǎn)有: 面向?qū)ο螅? 很容易擴(kuò)展, 并且允許真正的組件編程; Qt對(duì)各個(gè)模塊進(jìn)行了良好的封裝,使各模塊可重用性較好;優(yōu)良的跨平臺(tái)特性, 使用 Qt 類編寫的程序可以實(shí)現(xiàn) “一次編碼,到處編譯 ”,極大的降低了跨平臺(tái)開(kāi)發(fā)的難度 (丁丁等, 2021) ;構(gòu)件支持, 對(duì)于對(duì)象間通信, Qt 沒(méi)有采用函數(shù)回調(diào)的方法,而是采用了一種全新并且可選的被稱為 “信號(hào)與槽 ” 的對(duì)象間通信機(jī)制,通過(guò)一個(gè)對(duì)象信號(hào)的發(fā)射,另一個(gè)槽函數(shù)的響應(yīng),使各個(gè)對(duì)象之間的通信安全而且高效。 Qt 的這些特點(diǎn)使它非常適合于真正的構(gòu)件編程, 同時(shí)使各個(gè)組件之間的協(xié)同工作變得十分簡(jiǎn)單,并且 Qt是直接基于 Xlib 的,不依賴 Motif 工具包, 所以它的執(zhí)行效率比一般的基于平臺(tái)的代碼的執(zhí)行效率要高 。 華中農(nóng)業(yè)大學(xué) 本科 畢業(yè)論文 (或設(shè)計(jì)) 5 Qt編程機(jī)制簡(jiǎn)介 ( 1) Qt 系統(tǒng)的信號(hào)與槽機(jī)制簡(jiǎn)介 信號(hào) /槽機(jī)制是 Qt 的一個(gè)中心特征并且也許是 Qt 與其它工具包的最不相同的部分。在圖形用戶界面編程中,我們經(jīng)常希望一個(gè)窗口部件的一個(gè)變化被通知給另一個(gè)窗口部件 (張娟,張雪蘭 ,2021)。更一般地,我們希望任何一類的對(duì)象可以和其它對(duì)象進(jìn)行通訊。 較老的工具包使用一 種被稱作回調(diào)的通訊方式來(lái)實(shí)現(xiàn)同一目的?;卣{(diào)是指一個(gè)函數(shù)的指針,所以如果你希望一個(gè)處理函數(shù)通知你一些事件,你可以把另一個(gè)函數(shù)(回調(diào))的指針傳遞給處理函數(shù)。處理函數(shù)在適當(dāng)?shù)臅r(shí)候調(diào)用回調(diào) (倪繼利, 2021) ?;卣{(diào)有兩個(gè)主要缺點(diǎn)。首先他們不是類型安全的。我們從來(lái)都不能確定處理函數(shù)使用了正確的參數(shù)來(lái)調(diào)用回調(diào)。因此容易造成進(jìn)程崩潰,另外一個(gè)問(wèn)題是,回調(diào)這種方式緊緊的綁定了圖形用戶接口的功能元素,因而很難把開(kāi)發(fā)進(jìn)行獨(dú)立的分類。 Qt 的信號(hào)與槽機(jī)制是不同的。 Qt 的信號(hào)與槽均以函數(shù)形式出現(xiàn), Qt 的窗口部件有很多預(yù)定義的信號(hào), 但我們也可以通過(guò)繼承來(lái)加入我們自己的信號(hào)。槽就是一個(gè)可以被調(diào)用處理特定信號(hào)的函數(shù)。 Qt 的窗口部件有很多預(yù)定義的槽,但是通常的習(xí)慣是你可以加入自己的槽,這樣你就可以處理你所感興趣的信號(hào)。我們可以用 connect()函數(shù)對(duì)需要的信號(hào)和槽進(jìn)行連接。當(dāng)對(duì)象的內(nèi)部狀態(tài)發(fā)生改變,信號(hào)就被發(fā)射。從某種意義上講,它們也許對(duì)外面的世界感興趣。這就是所有的對(duì)象通訊時(shí)所做的一切。它不知道也不注意無(wú)論有沒(méi)有東西接收它所發(fā)射的信號(hào)。當(dāng)一個(gè)信號(hào)被發(fā)射,它所連接的槽會(huì)被立即執(zhí)行,就像一個(gè)普通函數(shù)調(diào)用一樣(見(jiàn)圖 1)。信號(hào) /槽機(jī)制完全不依賴 于任何一種圖形用戶界面的事件回路。當(dāng)所有的槽都返回后發(fā)射的信號(hào)也將返回。信號(hào)與插槽機(jī)制并不要求類之間互相知道細(xì)節(jié),這樣就可以相對(duì)容易的開(kāi)發(fā)出代碼可高重用的類 (Matthias Dalheimer,2021)。 信號(hào)和槽的機(jī)制是類型安全的:一個(gè)信號(hào)的簽名必須與它的接收槽的簽名相匹配。(實(shí)際上一個(gè)槽的簽名可以比它接收的信號(hào)的簽名少,因?yàn)樗梢院雎灶~外的簽名。)因?yàn)楹灻且恢碌?,編譯器就可以幫助我們檢測(cè)類型不匹配。它以警告的方式報(bào)告類型錯(cuò)誤,而不會(huì)使系統(tǒng)產(chǎn)生崩潰。信號(hào)和槽是寬松地聯(lián)系在一起的:一個(gè)發(fā)射信號(hào)的類不 用知道也不用注意哪個(gè)槽要接收這個(gè)信號(hào) (Johan Thelin,2021)。 Qt 的信號(hào)和槽的機(jī)制可以保證如果你把一個(gè)信號(hào)和一個(gè)槽連接起來(lái),槽會(huì)在正確的時(shí)間使用信號(hào)的參數(shù)而被調(diào)用。信號(hào)和槽可以使用任何數(shù)量、任何類型的參數(shù)。它們是完全類型安全的:不會(huì)再有回調(diào)核心轉(zhuǎn)儲(chǔ) (core dump)。 你可以把許多信號(hào)和你所希望的單一槽相連,并且一個(gè)信號(hào)也可以和你所期望的許多槽相連。把一個(gè)信號(hào)和另一個(gè)信號(hào)直接相連也是可以的。(這時(shí),只要第一個(gè)信號(hào)被發(fā)射時(shí),第二個(gè)信號(hào)立刻就被發(fā)射。) 總體來(lái)看,信號(hào)和槽構(gòu)成了一個(gè)強(qiáng)有力的組件 編程機(jī)制。 華中農(nóng)業(yè)大學(xué) 本科 畢業(yè)論文 (或設(shè)計(jì)) 6 如果一個(gè)類要使用信號(hào)與槽機(jī)制,它就必須是從 QObject 或 QObject 的子類繼承,而且類的定義必須加上 Q_OBJECT 宏。 signals、 slots 和 emit 是 Qt 特有的關(guān)鍵字,分別用來(lái)表示信號(hào)、槽、和發(fā)送信號(hào),移除這些關(guān)鍵字和預(yù)處理程序,就可以使用標(biāo)準(zhǔn)的 C++編譯器。槽同其他函數(shù)一樣也具有訪問(wèn)權(quán)限,只是槽的訪問(wèn)權(quán)限決定了誰(shuí)可以和 它 相 連 , 如 一 個(gè) public slots: 包 含 了 任 何 信 號(hào) 都 可 以 相 連 的 槽 (Andrew Krause,2021) 。 一個(gè) protected slots:包含了只有這個(gè)類和 它的子類的信號(hào)才能連接的槽。這就是說(shuō)這些槽只是類的實(shí)現(xiàn)的一部分,而不是它和外界的接口。 一個(gè) private slots:包含了只有這個(gè)類本身的信號(hào)可以連接的槽, 甚至它的子類都沒(méi)有獲得連接 的 權(quán)利 。 圖 1 信號(hào)和槽的連接原理圖 Fig. 1 Signal and slot connection scheme ( 2) Qt 元對(duì)象系統(tǒng) Qt 中的元對(duì)象系統(tǒng)是用來(lái)處理對(duì)象間通訊的信號(hào) /槽機(jī)制、運(yùn)行時(shí)的類型信息和動(dòng)態(tài)屬性系統(tǒng)。它基于下列三類: QObject 類、類聲明中的私有段中的 Q_OBJECT 宏、元對(duì)象編譯器( moc)。 moc 讀取 C++源文件。如果它發(fā)現(xiàn)其中包含一個(gè)或多個(gè)類的聲明中含有Q_OBJECT 宏,它就會(huì)給含有 Q_OBJECT 宏的類生成另一個(gè)含有元對(duì)象代碼的 C++源文件。這個(gè)生成的源文件可以被類的源文件包含( include)到或者和這個(gè)類的實(shí)現(xiàn)一起編譯和連接。 除了提供對(duì)象間通訊的信號(hào)和槽機(jī)制之外(介紹這個(gè)系統(tǒng)的主要原因), QObject中的元對(duì)象代碼實(shí)現(xiàn)其它特征: ( 1) className()函數(shù)在運(yùn)行的時(shí)候以字符串返回類的名稱,不需要 C++編譯器中的本地運(yùn)行類型信息( RTTI)的支持。 ( 2) inherits()函數(shù)返回這個(gè)對(duì)象是否是一個(gè)繼承于 QObject 繼承樹(shù)中一個(gè)特定類的類的實(shí)例。 華中農(nóng)業(yè)大學(xué) 本科 畢業(yè)論文 (或設(shè)計(jì)) 7 ( 3) tr()和 trUtf8() 兩個(gè)函數(shù)是用于國(guó)際化中的字符串翻譯。 ( 4) setProperty()函數(shù) 和 property()函數(shù),這 兩個(gè)函數(shù) 是 用來(lái)通過(guò)名稱動(dòng)態(tài)設(shè)置和獲得對(duì)象屬性的。 ( 5) metaObject()函數(shù)返回這個(gè)類所關(guān)聯(lián)的元對(duì)象。 雖然使用 QObject 作為一個(gè)基類而不使用 Q_OBJECT 宏和元對(duì)象代碼是可以的,但是如果 Q_OBJECT 宏沒(méi)有被使用,那么這里的信號(hào)和槽以及其它特征描述 都不會(huì)被提供。根據(jù)元對(duì)象系統(tǒng)的觀點(diǎn),一個(gè)沒(méi)有元代碼的 QObject 的子類和它含有元對(duì)象代碼的最近的祖先相同。舉例來(lái)說(shuō)就是, className()將不會(huì)返回你的類的實(shí)際名稱,返回的是它的這個(gè)祖先的名稱。故強(qiáng)烈建議 QObject 的所有子類使用 Q_OBJECT 宏,而不管它們是否實(shí)際使用了信號(hào)、槽和屬性 (Jonathan Corbet, 2021)。 3 嵌入式終端應(yīng)用程序之記事本和電子相冊(cè)架構(gòu)設(shè)計(jì) 目前市場(chǎng)上嵌入式手持設(shè)備, 320*240 的解析度基本滿足了人們對(duì)顯示畫面大小及圖像清晰度的要求,逐漸占領(lǐng)了市場(chǎng)主流。 故記事本和電子相冊(cè)界面大小設(shè)定 320*240,并且記事本和電子相冊(cè)均支持鍵盤控制操作和點(diǎn)擊( PC 機(jī)上鼠標(biāo)點(diǎn)擊,嵌入式設(shè)備的觸摸屏點(diǎn)擊)控制操作。特色是界面語(yǔ)言支持中文、英文、日文三種語(yǔ)言的顯示。 記事本架構(gòu)設(shè)計(jì) 記事本設(shè)計(jì)需求 記事本可以將目錄下的記事本文件以文件名列表的形式顯示出來(lái),并可以實(shí)現(xiàn)記事本文件的新建、打開(kāi)、編輯和刪除等功能;記事本可以根據(jù)文件內(nèi)容的多少來(lái)實(shí)現(xiàn)文本的滾動(dòng)顯示,并可以通過(guò)軟鍵盤對(duì)文本進(jìn)行編輯等。 ( 1) 文件列表功能:記事本的文件列表用于顯示記事本文件名,并且當(dāng)記事本文件名過(guò)長(zhǎng)時(shí)進(jìn)行文件名 長(zhǎng)度顯示的控制。當(dāng)文件數(shù)目多于當(dāng)前界面顯示范圍,則出現(xiàn)上下方向的滾動(dòng)條,可以向上或向下滾動(dòng)顯示文件名。 ( 2) 文件名選中顯示功能:在文件列表上被選中的文件名高亮顯示。 ( 3) 新建文件功能:新建記事本文件時(shí),提示輸入文件名,如果沒(méi)有輸入文件名而選擇直接進(jìn)入文件編輯界面,系統(tǒng)則提供默認(rèn)的文件名用于存儲(chǔ)文件。編輯新建文件時(shí),文件名在編輯界面上方顯示。 ( 4) 控制文本編輯格式功能:編輯文件時(shí),文本內(nèi)容輸入到當(dāng)前界面的右端邊界處自動(dòng)換行,也可以利用鍵盤操作執(zhí)行換行動(dòng)作。輸入的文本內(nèi)容多于當(dāng)前屏幕顯示范圍時(shí)出現(xiàn)縱向滾動(dòng)條,隨著文本輸入滾動(dòng)顯示內(nèi)容。保存文件后,文件名立即顯示在文件列表上。 ( 5) 打開(kāi)文件功能:根據(jù)文件列表選擇打開(kāi)指定的文件,打開(kāi)指定文件時(shí),顯示打開(kāi)文件的文件內(nèi)容在文件編輯界面上 ,文件內(nèi)容過(guò)多時(shí)可以滾動(dòng)顯示 ,并在文件編輯界面的上方滾動(dòng)顯示打開(kāi)的文件 的文件名。 華中農(nóng)業(yè)大學(xué) 本科 畢業(yè)論文 (或設(shè)計(jì)) 8 ( 6) 文件內(nèi)容編輯和顯示功能:在文件編輯界面上可以對(duì)文件的內(nèi)容進(jìn)行編輯和修改。如果文件內(nèi)容多于當(dāng)前屏幕顯示 范圍的話,出現(xiàn)縱向滾動(dòng)條,可以滾動(dòng)顯示當(dāng)前文件的文件內(nèi)容。 ( 7) 打開(kāi)下一個(gè)文件功能:在當(dāng)前打開(kāi)文件列表界面,若選擇 “打開(kāi)一個(gè)文件 ”功能,則顯示下一個(gè)文件的內(nèi)容在文件編輯區(qū)。 ( 8) 文件內(nèi)容修改提示功能:若在打開(kāi)的文件中對(duì)其內(nèi)容進(jìn)行了修改,在關(guān)閉文件時(shí)將會(huì)提示文件的內(nèi)容已經(jīng)被修改的消息,用戶可選擇是否保存修改后的內(nèi)容。 ( 9) 刪除文件功能:可以在文件列表上對(duì)指定文件進(jìn)行刪除操作,也可以打開(kāi)文件后,對(duì)打開(kāi)的文件進(jìn)行刪除操作。選擇刪除文件操作時(shí),會(huì)出現(xiàn)確定文件刪除的提示,如果此時(shí)放棄刪除操作,則文件不會(huì)被刪除,否則文件將會(huì)被徹底 刪除,即從物理設(shè)備上被刪除。文件被刪除后,文件列表上該文件名被移除。 ( 10) 軟鍵盤輸入功能:軟鍵盤支持英文輸入, Cap 鍵支持大小寫英文切換,提供 Shift 鍵的上下字符切換功能, Enter 可以進(jìn)行回車換行,其 ESC 鍵執(zhí)行軟鍵盤退出功能。軟鍵盤上的按鍵與物理鍵盤的按鍵位置相對(duì)應(yīng)。 ( 11) 給用戶提供友好的圖形用戶界面,并合理安排界面元素布局, 使其交互性好且 方便用戶操作。 記事本界面設(shè)計(jì) 記事本主要界面設(shè)計(jì) : ( 1) 文件列表界面: 如圖 2 所示, 界面大小為 320*240。界面上方提供記事本圖標(biāo)和記事本文字標(biāo)簽,中間的顯示區(qū)域顯示記 事本文件列表。界面的最下方為兩個(gè)按鈕,左側(cè)的是功能按鈕,右側(cè)的是返回按鈕,此界面上分別標(biāo)記為 “Option”和 “Exit”。文件列表中文件以文件創(chuàng)建時(shí)間排序, 將要進(jìn)行操作的文件名高亮顯示。 圖 2 文件列表界面 Fig. 2 File list interface 華中農(nóng)業(yè)大學(xué) 本科 畢業(yè)論文 (或設(shè)計(jì)) 9 ( 2) 新建文件編輯界面: 如圖 3 所示, 界面大小為 320*240。界面上方顯示記事本圖標(biāo)和新建文件的文件名,如果沒(méi)有輸入文件名則不顯示。中間的顯示區(qū)域?yàn)槲募庉媴^(qū),用于接收文本的輸入。界面的最下方左側(cè)為功能按鈕, 右側(cè)的是返回按鈕,此界面上分別標(biāo)記為 “Option”和 “Save”。 圖 3 新建文件編輯界面 Fig. 3 New document editing interface ( 3) 打開(kāi)文件內(nèi)容顯示界面: 如圖 4 所示, 界面大小為 320*240。界面上方顯示記事本圖標(biāo)和打開(kāi)的文件的文件名,中間的顯示區(qū)域?yàn)槲募?nèi)容顯示區(qū),可以接受文本的編輯和修改。界面的最下方左側(cè)為功能按鈕,右側(cè)的是返回按鈕,此界面上分別標(biāo)記為 “Option”和 “Back”。 圖 4 文件打開(kāi)界面 Fig. 4 Documents open interface 華中農(nóng)業(yè)大學(xué) 本科 畢業(yè)論文 (或設(shè)計(jì)) 10 記事本功能菜單設(shè)計(jì): 如圖 5 所示, 記事本功能菜單大小要小于記事本主要界面的大小,根據(jù)具體條目的數(shù)量來(lái)調(diào)整為合適的大小。菜單上顯示可操作的功能選項(xiàng),并對(duì)選定的功能選項(xiàng)高亮顯示。界面的最下方左側(cè)為功能按鈕,右側(cè)的是返回按鈕,菜單中分別標(biāo)記為“Select”和 “Back”。 圖 5 功能菜單 Fig. 5 Function menu 記事本消息提示框設(shè)計(jì): 如圖 6 所示, 消 息提示框界面大小為 320*消息提示框的顯示區(qū)域顯示提示動(dòng)畫和提示的內(nèi)容。界面的最下方左側(cè)為功能按鈕,右側(cè)的是返回按鈕,此界面中分別標(biāo)記為 “Yes”和 “No”。 圖 6 消息提示
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1