亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Linux操作系統(tǒng)下的qt開(kāi)發(fā)

        2018-09-17 09:33:52朱敦達(dá)
        科教導(dǎo)刊·電子版 2018年24期

        朱敦達(dá)

        摘 要 Linux操作系統(tǒng)在產(chǎn)品當(dāng)中應(yīng)用的越來(lái)越廣泛,在Linux操作系統(tǒng)中進(jìn)行軟件開(kāi)發(fā)成為當(dāng)前軟件研究的一個(gè)熱點(diǎn)問(wèn)題,本文介紹了幾種比較常見(jiàn)的嵌入式Linux組態(tài)軟件開(kāi)發(fā)的特點(diǎn),之后對(duì)可以應(yīng)用在qt平臺(tái)之上的Linux開(kāi)發(fā)環(huán)境進(jìn)行了介紹,總結(jié)了使用qt進(jìn)行Linux程序開(kāi)發(fā)的基本方法,并著重介紹了如何利用qt進(jìn)行組態(tài)軟件的基礎(chǔ)設(shè)計(jì),并總結(jié)了該項(xiàng)技術(shù)如何應(yīng)用于具體的平臺(tái)之上。

        關(guān)鍵詞 組態(tài)軟件 qt平臺(tái) 數(shù)據(jù)庫(kù)開(kāi)發(fā)

        中圖分類(lèi)號(hào):TP391 文獻(xiàn)標(biāo)識(shí)碼:A

        Linux操作系統(tǒng)的用戶數(shù)量不斷增多,由于Linux系統(tǒng)的代碼是開(kāi)放性的,因此在網(wǎng)絡(luò)方面具有強(qiáng)大優(yōu)勢(shì),使用Linux操作系統(tǒng)已經(jīng)逐漸成為工業(yè)應(yīng)用領(lǐng)域的選擇。隨著嵌入式Linux開(kāi)發(fā)應(yīng)用的越來(lái)越普遍,各種嵌入式Linux操作系統(tǒng)的開(kāi)發(fā)技術(shù)已經(jīng)逐漸變得完善,根據(jù)系統(tǒng)的數(shù)據(jù)庫(kù)和日志文件可以對(duì)技術(shù)的支持和應(yīng)用進(jìn)行維護(hù),在嵌入式系統(tǒng)當(dāng)中植入Linux可以應(yīng)用的組態(tài)軟件越來(lái)越成為一種趨勢(shì),多平臺(tái)支持的組態(tài)軟件越來(lái)越成為一種可能,常見(jiàn)的組態(tài)軟件有Supervisory Control等,這種組態(tài)軟件可以同時(shí)兼容Linux系統(tǒng)和Win NT系統(tǒng),根據(jù)系統(tǒng)軟件應(yīng)用的現(xiàn)狀,本文介紹了一些利用嵌入式Linux系統(tǒng)組態(tài)軟件進(jìn)行設(shè)計(jì)的方法。

        1嵌入性Linux軟件設(shè)計(jì)

        1.1嵌入式GUI

        比較常見(jiàn)的Linux主要由miniGUI和主要有飛漫公司開(kāi)發(fā)的Micro Windows以及由Troltech公司開(kāi)發(fā)的qt和由GTK開(kāi)發(fā)的GTK+。

        使用miniGUI進(jìn)行開(kāi)發(fā)的第一步首先是建立一個(gè)比較成熟的引擎,比如使用SVGALib或者使用LibGGI,進(jìn)行開(kāi)發(fā)的重中之重在于窗口的設(shè)置,在圖形接口的設(shè)計(jì)方面,需要引入MiniGUI的開(kāi)發(fā),需要引入的是圖形層面的抽象設(shè)計(jì)和輸入層面的抽象設(shè)計(jì),利用的是GAL和IAL的概念??梢試L試?yán)肎AL或者LAL進(jìn)行圖形的設(shè)計(jì),利用MiniGUI進(jìn)行圖形引擎的設(shè)計(jì),便于圖形進(jìn)行移植和保留。并且程序設(shè)計(jì)出來(lái)可以和普通的Windows系統(tǒng)兼容,在進(jìn)行win系統(tǒng)應(yīng)用設(shè)計(jì)的時(shí)候,也可以采用例如miniGUI這樣的方法。

        如果是使用MicroWindows目前的開(kāi)發(fā)主要是底層的引擎,如何進(jìn)行窗口的開(kāi)發(fā)或者是圖形的設(shè)計(jì)還有待研究,但是任何操作系統(tǒng)如果沒(méi)有窗口的支持都是沒(méi)有辦法進(jìn)行操作的,因此如果僅僅是對(duì)顯示設(shè)備進(jìn)行操作,這種操作系統(tǒng)就顯得過(guò)于小巧,如何將這種系統(tǒng)移植到設(shè)備之上會(huì)成為一個(gè)問(wèn)題,如果最上層的API可以起到支持Win32或者支持NanoX的作用,那么就有可能實(shí)現(xiàn)win32和X Window窗口保持一致,這些系統(tǒng)如果可以兼容互相移植起來(lái)就會(huì)顯得比較容易。

        在系統(tǒng)設(shè)計(jì)的時(shí)候常用的GTK也是一種開(kāi)放源代碼的圖形設(shè)計(jì)程序,這種程序是Tool Kit的縮寫(xiě),目前所主要采用的圖形所主要使用的就是這種比較常見(jiàn)的高層數(shù)據(jù)庫(kù),由于這種軟件的模塊設(shè)計(jì)和C語(yǔ)言程序的編程具備良好的兼容屬性,因此運(yùn)行比較穩(wěn)定,常見(jiàn)的運(yùn)行庫(kù)也比較小巧,加上GTK和X服務(wù)器的體積僅僅占有3MB左右的空間,因此具備良好的兼容性,可以節(jié)省大量存儲(chǔ)空間,這種軟件完全可以用來(lái)開(kāi)發(fā)嵌入式GUI系統(tǒng),進(jìn)行系統(tǒng)應(yīng)用的開(kāi)發(fā)可以免費(fèi)得到網(wǎng)上可能獲取的各種資源,這種應(yīng)用程序可以免費(fèi)從網(wǎng)上獲取各種代碼,具備上述優(yōu)勢(shì)之后Linux系統(tǒng)常見(jiàn)的操作之一就是獲得GNOME應(yīng)用GTK開(kāi)發(fā)一些較為強(qiáng)大的功能。

        利用qt平臺(tái)可以進(jìn)行和C++程序一樣的圖形界面設(shè)計(jì),根據(jù)程序的框架進(jìn)行一些多平臺(tái)的系統(tǒng)應(yīng)用,注重用戶體驗(yàn)的同時(shí)可以有精美的用戶界面設(shè)計(jì),所具有的元素主要是一些圖形的用戶界面,利用面向用戶的思想,根據(jù)用戶對(duì)擴(kuò)展應(yīng)用的熟悉程度,可以形成一種面向?qū)ο蟮乃枷?,因此用戶?duì)界面進(jìn)行設(shè)計(jì)是具有應(yīng)用基礎(chǔ)的,基于一種面向?qū)ο蟮脑O(shè)計(jì)思想,用戶對(duì)界面的擴(kuò)展也顯得設(shè)計(jì)方便,在進(jìn)行組件編程的時(shí)候也具有應(yīng)用方便的優(yōu)勢(shì)。

        因此根據(jù)MinGUI或者M(jìn)icro Window和GTK進(jìn)行Linux系統(tǒng)軟件的設(shè)計(jì),對(duì)于一般工業(yè)用戶或者單純的系統(tǒng)應(yīng)用用戶來(lái)說(shuō)都比較方便,對(duì)于普通工業(yè)領(lǐng)域的用戶或者單純Linux系統(tǒng)的用戶,進(jìn)行開(kāi)發(fā)設(shè)計(jì)都需要時(shí)間適應(yīng)。考慮到組件的開(kāi)發(fā)需要多系統(tǒng)平臺(tái),需要多用戶的應(yīng)用,需要利用多控件的支持,因此需要利用豐富的軟件庫(kù)支持,進(jìn)行qt開(kāi)發(fā)需要程序設(shè)計(jì)方面的選擇,利用qt平臺(tái)進(jìn)行開(kāi)發(fā)是最好的選擇。

        1.2進(jìn)行qt應(yīng)用開(kāi)發(fā)的程序

        可以嘗試?yán)萌缦聝煞N方法進(jìn)行嵌入式Linux系統(tǒng)環(huán)境的開(kāi)發(fā),一種是嘗試?yán)胵t平臺(tái)提供的設(shè)計(jì)工具qt designer進(jìn)行系統(tǒng)用戶界面的設(shè)計(jì),或者是利用圖形界面的生成工具直接進(jìn)行圖形界面的設(shè)計(jì),可以嘗試?yán)脠D形界面進(jìn)行多用戶界面的快速設(shè)計(jì),嘗試?yán)枚喾N程序代碼進(jìn)行系統(tǒng)的開(kāi)發(fā)應(yīng)用,通過(guò)多種程序的開(kāi)發(fā),可以在多種系統(tǒng)當(dāng)中生成應(yīng)用程序的代碼,利用快速的開(kāi)發(fā)手段,進(jìn)行程序設(shè)計(jì)可以實(shí)現(xiàn)基于Linux環(huán)境和Window系統(tǒng)的交叉編譯,通過(guò)多種程序設(shè)計(jì)的qt designer的用戶對(duì)象設(shè)計(jì)可以編譯MOC和用戶編輯器UIC,進(jìn)行代碼轉(zhuǎn)換和代碼編譯可以生成額外的執(zhí)行文件。還可以通過(guò)手動(dòng)編輯的編譯方法來(lái)進(jìn)行程序的設(shè)計(jì)和實(shí)現(xiàn),通過(guò)利用windows系統(tǒng)環(huán)境下的VC++編寫(xiě),可以實(shí)現(xiàn)代碼的優(yōu)化設(shè)計(jì),在VC++平臺(tái)之下可以實(shí)現(xiàn)Tools菜單當(dāng)中的功能,在彈出的對(duì)話框中可以有Add選項(xiàng),選擇ins and Macro files等功能就可以實(shí)現(xiàn)。

        2系統(tǒng)組態(tài)軟件的設(shè)計(jì)和相關(guān)技術(shù)的實(shí)現(xiàn)

        2.1組態(tài)軟件設(shè)計(jì)的基本理論

        運(yùn)用組態(tài)軟件進(jìn)行開(kāi)發(fā)環(huán)境和運(yùn)行環(huán)境的設(shè)計(jì)需要利用Linux系統(tǒng)或者Window系統(tǒng)進(jìn)行程序的交叉編譯,可以嘗試?yán)肐ntel環(huán)境和PXA250平臺(tái)進(jìn)行軟件的環(huán)境設(shè)計(jì)??梢試L試通過(guò)I/O程序從設(shè)備上獲取數(shù)據(jù),通過(guò)數(shù)據(jù)整合之后在屏幕上進(jìn)行顯示,還可以嘗試?yán)脠D形界面的方式將投影直觀的展示到計(jì)算機(jī)屏幕當(dāng)中,同時(shí)還可以按照組態(tài)的設(shè)計(jì)和操作人員的指令將相關(guān)數(shù)據(jù)匯總到設(shè)備平臺(tái)之上,對(duì)執(zhí)行機(jī)構(gòu)的設(shè)計(jì)進(jìn)行參數(shù)調(diào)控。通過(guò)對(duì)數(shù)據(jù)采集分析的應(yīng)用,將動(dòng)畫(huà)界面和報(bào)警設(shè)置進(jìn)行調(diào)配,通過(guò)動(dòng)畫(huà)進(jìn)行動(dòng)態(tài)設(shè)計(jì),在警報(bào)設(shè)置的時(shí)候利用用戶進(jìn)行多流程的設(shè)計(jì),在輸入和輸出設(shè)置當(dāng)中利用多用戶界面解決實(shí)際問(wèn)題,動(dòng)態(tài)軟件的開(kāi)發(fā)所主要利用的就是用戶的界面設(shè)計(jì)程序,通過(guò)數(shù)據(jù)庫(kù)系統(tǒng)和通信組件的合成,可以設(shè)計(jì)出設(shè)備驅(qū)動(dòng)組件,其中不僅可以設(shè)計(jì)實(shí)時(shí)監(jiān)控系統(tǒng)也可以設(shè)計(jì)數(shù)據(jù)的動(dòng)態(tài)核心引擎,圖形界面的設(shè)計(jì)和驅(qū)動(dòng)程序的設(shè)計(jì)都可以通過(guò)軟件的數(shù)據(jù)庫(kù)實(shí)現(xiàn),可以嘗試?yán)脙?nèi)部協(xié)議進(jìn)行數(shù)據(jù)共享和數(shù)據(jù)添加操作。

        2.2實(shí)現(xiàn)組態(tài)軟件的技術(shù)

        組態(tài)軟件的技術(shù)實(shí)現(xiàn)需要多方面的技術(shù)特點(diǎn)進(jìn)行支持,首先是程序底層的設(shè)計(jì),進(jìn)行圖像的模擬需要根據(jù)顯示儀器的狀態(tài)進(jìn)行設(shè)置,對(duì)于圖形和界面的設(shè)計(jì)需要根據(jù)現(xiàn)場(chǎng)的狀況進(jìn)行設(shè)計(jì),根據(jù)事件的驅(qū)動(dòng)進(jìn)行調(diào)整,事件驅(qū)動(dòng)支持系統(tǒng)需要運(yùn)用多種程序進(jìn)行數(shù)據(jù)庫(kù)的選擇,根據(jù)圖形和應(yīng)用的數(shù)據(jù)對(duì)象之間的支持?jǐn)?shù)據(jù)庫(kù)進(jìn)行選擇,建立起動(dòng)畫(huà)和圖形界面的聯(lián)系,選擇圖形需要整個(gè)動(dòng)態(tài)數(shù)據(jù)庫(kù)搭建起橋梁,進(jìn)行第三方的應(yīng)用和核心組的設(shè)計(jì)需要利用數(shù)據(jù)庫(kù)進(jìn)行文件支持。Qt組件的設(shè)計(jì)需要基于framebuffer進(jìn)行,在Linux系統(tǒng)架構(gòu)之下需要根據(jù)系統(tǒng)架構(gòu)的版本進(jìn)行設(shè)計(jì),找準(zhǔn)動(dòng)態(tài)接口之后設(shè)計(jì)出相應(yīng)的LCD接口和初始化端口,包括畫(huà)面緩沖區(qū)域和相應(yīng)的DMA 區(qū)域的控制,同時(shí)需要針對(duì)畫(huà)面緩沖設(shè)置一對(duì)讀寫(xiě)代碼,具體根據(jù)查找的需要可以適用不同的數(shù)據(jù)接口,根據(jù)qt系統(tǒng)底層的抽象設(shè)計(jì)可以設(shè)計(jì)QScreen或者類(lèi)似于QGfx的設(shè)計(jì),根據(jù)QScreen可以嘗試抽象的底層現(xiàn)實(shí)數(shù)據(jù),如果明了顯示設(shè)備的描述和操作之后,在系統(tǒng)打開(kāi)和關(guān)閉功能的設(shè)計(jì)之上就可以建立不同的操作對(duì)象。Qt的底層設(shè)計(jì)有一些類(lèi)似于Qscreen的種類(lèi),可以進(jìn)行底層設(shè)計(jì)的同時(shí),對(duì)于顯示設(shè)備的基本描述和操作方法的設(shè)計(jì)也能進(jìn)行,如果聲明了對(duì)于基礎(chǔ)顯示設(shè)備的描述和操作之后,還可以在打開(kāi)和關(guān)閉方面進(jìn)行操作,在打開(kāi)和關(guān)閉的時(shí)候可以嘗試不同的操作對(duì)象的創(chuàng)建,在QGfx的設(shè)計(jì)和抽象顯示的設(shè)備操作方面進(jìn)行接口的設(shè)計(jì)和畫(huà)面比例的選擇,可以設(shè)計(jì)畫(huà)面的幀速率和矩形設(shè)計(jì)等步驟,進(jìn)行簡(jiǎn)單的ALPHA操作。

        進(jìn)行qt的操作可以基于qt技術(shù)實(shí)現(xiàn)Signal的操作,不同于大多數(shù)的GUI工具,大多數(shù)的GUI都可以進(jìn)行數(shù)據(jù)軟件的控制,所控制的都是一些函數(shù)的模擬,在QT的設(shè)計(jì)當(dāng)中,進(jìn)行Signal和Slot設(shè)計(jì)都需要進(jìn)行一些基礎(chǔ)替代,回調(diào)部分函數(shù)的指針,在應(yīng)用Slot的時(shí)候需要關(guān)注對(duì)象間的復(fù)雜操作,圖形和圖像之間需要根據(jù)數(shù)據(jù)接口進(jìn)行窗口圖形的設(shè)計(jì)和實(shí)時(shí)數(shù)據(jù)的現(xiàn)實(shí),圖形畫(huà)面的鏈接主要根據(jù)窗口圖形的設(shè)計(jì)和實(shí)時(shí)數(shù)據(jù)的傳輸建立相關(guān)性對(duì)象,在設(shè)計(jì)的時(shí)候需要關(guān)注動(dòng)畫(huà)屬性,可以嘗試將物理屬性和參數(shù)特征結(jié)合到一起,這樣在系統(tǒng)運(yùn)轉(zhuǎn)的過(guò)程中,系統(tǒng)界面也會(huì)活動(dòng)起來(lái),形成的圖像就會(huì)逼真而生動(dòng)。

        Qt中所有的軟件設(shè)計(jì)需要基于Qevert,qt的回路設(shè)計(jì)的就是列隊(duì)里面取得的本地窗口需要轉(zhuǎn)換成QEvent,然后需要將相關(guān)的事件轉(zhuǎn)化后發(fā)到QObject當(dāng)中去,根據(jù)具體的QObject設(shè)計(jì)相應(yīng)具體的函數(shù)進(jìn)行調(diào)用和接收,這是一種內(nèi)部程序的生成機(jī)制。Qt中與內(nèi)部程序相對(duì)應(yīng)的生成機(jī)制都是建立在底層輸入設(shè)備之上的,qt當(dāng)中的輸入設(shè)備都具有一些鍵盤(pán)和鼠標(biāo)組件,其中的鼠標(biāo)可以抽象為QWSMouseHandle,鍵盤(pán)設(shè)備當(dāng)中的抽象軟件大都是利用QWSMouseHandle進(jìn)行設(shè)計(jì)的。

        2.3組態(tài)軟件的核心

        和windows操作系統(tǒng)類(lèi)似的還有一些數(shù)據(jù)庫(kù)的操作系統(tǒng),需要建立相應(yīng)的數(shù)據(jù)庫(kù)進(jìn)行對(duì)照,對(duì)數(shù)據(jù)庫(kù)進(jìn)行配置之后對(duì)相應(yīng)的設(shè)置文件進(jìn)行編譯和操作,在Linux系統(tǒng)的數(shù)據(jù)庫(kù)當(dāng)中,可以嘗試Oracle和sql等多種,常見(jiàn)的數(shù)據(jù)庫(kù)就是MYSQL。該數(shù)據(jù)庫(kù)是根據(jù)客戶機(jī)和服務(wù)器建立起來(lái)的簡(jiǎn)單的管理數(shù)據(jù)庫(kù),通過(guò)服務(wù)器和相應(yīng)的客戶程序連接起來(lái),根據(jù)客戶程序的不同和數(shù)據(jù)庫(kù)組成的不同,進(jìn)行相應(yīng)的代碼開(kāi)發(fā),方便用戶自由的使用。根據(jù)強(qiáng)大和靈活的屬性,可以進(jìn)行豐富端口的設(shè)計(jì),相應(yīng)的編譯程序和端口程序也比較小巧,在系統(tǒng)頂層設(shè)計(jì)MySQL和ODBC等基本結(jié)構(gòu),可以方便的進(jìn)行數(shù)據(jù)庫(kù)的訪問(wèn)等操作,在對(duì)應(yīng)的多種設(shè)計(jì)語(yǔ)言的幫助之下,可以方便的對(duì)不同的編譯程序進(jìn)行設(shè)計(jì)。例如以MySQL為例,可以在Linux系統(tǒng)當(dāng)中實(shí)現(xiàn)多步驟的操作。

        3結(jié)語(yǔ)

        在總結(jié)了幾種常見(jiàn)的嵌入式Linux系統(tǒng)的GUI設(shè)計(jì)方法和特征的應(yīng)用之后,在動(dòng)態(tài)數(shù)據(jù)組件的設(shè)計(jì)之中可以嘗試進(jìn)行qt系統(tǒng)的開(kāi)發(fā)和應(yīng)用,本文所著重闡述的就是qt程序的開(kāi)發(fā),所著重論述的就是系統(tǒng)組件的實(shí)現(xiàn)和相關(guān)技術(shù)的合成,當(dāng)組成了一種嵌入式系統(tǒng)之后,就可以實(shí)現(xiàn)在Linux系統(tǒng)環(huán)境當(dāng)中進(jìn)行qt系統(tǒng)工具的開(kāi)發(fā)和Linux系統(tǒng)組件的設(shè)計(jì)。

        參考文獻(xiàn)

        [1] 廖熹,易克非.基于嵌入式Linux系統(tǒng)下的Qt測(cè)試軟件開(kāi)發(fā)[J].兵工自動(dòng)化,2013,32(08):94-96.

        [2] 劉治國(guó),陳新華.基于Linux和Qt的智能家居系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2012,38(04):23-26.

        日本午夜精品一区二区三区电影| 成人av在线免费播放| 免费看黄视频亚洲网站| 中文亚洲av片不卡在线观看| 无码骚夜夜精品| 伊香蕉大综综综合久久| 亚洲最大视频一区二区三区| 亚洲av高清一区二区三| 精品国产午夜理论片不卡| 亚洲AV毛片无码成人区httP| 手机在线观看亚洲av| 插上翅膀插上科学的翅膀飞| 日本人与黑人做爰视频网站| 亚洲成人免费无码| 亚洲一区二区三区精彩视频| 一区二区三区内射美女毛片| 国产精品天天在线午夜更新| 国产成人cao在线| 永久中文字幕av在线免费| 欧美69久成人做爰视频| 日韩a∨精品日韩在线观看| 在线观看中文字幕一区二区三区| 中文字日产幕码三区的做法步| 又黄又硬又湿又刺激视频免费| 99久久免费国产精品2017| 国产一级一厂片内射视频播放 | 白色月光免费观看完整版| 亚洲av无码日韩av无码网站冲| 亚洲色大网站www永久网站| 中文无码免费在线| 青青青免费在线视频亚洲视频| 久久久久亚洲av成人网人人网站| 国产欧美日韩午夜在线观看| 色婷婷一区二区三区四| 亚洲av中文无码字幕色本草| 亚洲精品久久久久久动漫| 国产91AV免费播放| 亚洲中文字幕久久精品一区| 少妇无码太爽了不卡视频在线看| 久久久久久99精品| 国产一级黄色片在线播放|