<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          關 閉

          新聞中心

          EEPW首頁 > 工控自動化 > 設計應用 > 基于Qt環(huán)境下物理實驗數(shù)據處理系統(tǒng)的設計與實現(xiàn)

          基于Qt環(huán)境下物理實驗數(shù)據處理系統(tǒng)的設計與實現(xiàn)

          作者: 時間:2016-10-15 來源:網絡 收藏

          摘要:基于物理實驗數(shù)據的處理復雜性與繁瑣性,采用軟件所提供的C++編程環(huán)境,進行實驗軟件開發(fā)。以實驗為實例,設計研發(fā)得到一套實驗數(shù)據計算分析的處理軟件。可適應邁克爾遜于涉儀實驗需求,可運行于windows 98、windows 7、Unix等不同平臺,方便各個不同系統(tǒng)地移植使用。其兼容逐差法、最小二乘法等多種不同算法。界面美觀,設計合理,提供了一個通用型實驗數(shù)據處理平臺。

          本文引用地址:http://www.ex-cimer.com/article/201610/307168.htm

          應用現(xiàn)代軟件科學技術改進傳統(tǒng)實驗,是適應課程創(chuàng)新發(fā)展的需求。研制具有簡潔方便的實驗數(shù)據處理工作平臺,應用于繁瑣的物理實驗數(shù)據處理中,適應于不同物理參數(shù)的測試需求;并且具備有其自身的個性化特點,適合特殊性物理參數(shù)測試需求。全篇以邁克爾遜實驗數(shù)據處理軟件實例作為個案來展開,具體描述整個軟件的設計與開發(fā)。

          作為系統(tǒng)開發(fā)的環(huán)境,具有不可替代的優(yōu)勢。提供的C++應用程序開發(fā)框架,可以輕松實現(xiàn)“一次編寫,隨處編譯”的跨平臺解決方案,編寫的應用程序能完美運行于從windows 98到windows 7,從Mac OSX到Linux,從Solaris,HP—UX到其他基于X11的眾多Unix平臺上。這讓編寫的應用程序可以運行在不同的系統(tǒng),方便移植,甚至能夠在經過簡單的修改后輕松移植至應用廣泛的android平臺。Qt設計師是強大的跨平臺GUI布局和格式構建器。

          同時Qt是一個跨平臺的圖形用戶界面應用程序開發(fā)的C++工具箱。它提供給應用程序開發(fā)者建立藝術級的圖形用戶界面所需的各種功能,從而直觀的對可視化用戶交互界面進行設計。Qt是完全面向對象的,易于擴展,并且允許真正地組件編程。

          1 實驗原理簡介

          實驗原理如圖1所示,從光源S發(fā)出的光線經半反射鏡的反射和透射后分為兩束光線,一束向上一束向右,向上的光線又經C反射回來,向右的光線經補償板后被反射鏡D反射回來在半反射鏡處被再次反射向下,最后兩束光線在觀察屏上相遇,產生干涉。干涉儀的整體結構如圖2所示,圖中1~16為儀器上各個部件的數(shù)字編號,可查詢相關資料。

          a.jpg

          2 系統(tǒng)軟件總架構

          軟件功能的實現(xiàn)依靠3種機制:C++面向對象編程機制,Qt的信號與槽機制,Qt的事件機制。

          Qt編程是由C++體系實現(xiàn),面向對象的編程方法和Qt豐富的類庫,使用戶能夠更簡單靈活的實現(xiàn)各種功能。在QtCreator的幫助模式下,可以查詢所有類的信息。應用這種機制,可以使程序結構靈活,層次感強。

          軟件整體構架包括主界面與啟動界面兩大部分構成。學生在做完相應的邁克爾遜干涉實驗后,即可啟動軟件,進行數(shù)據輸入與計算。在數(shù)據的輸入過程辨清環(huán)變數(shù)與數(shù)據組數(shù),使用不同算法進行數(shù)據處理,采用二者比較精確值,操作簡便和人性化。系統(tǒng)構架圖如圖3所示。

          b.jpg

          其中qidong.cpp類下提供的軟件信息包括軟件版本號,開發(fā)作者,開發(fā)日期等并且添加圖片使界面更為美觀。log.cpp提供包括學生信息錄入,和學號信息驗證提示等功能。mainwindow.cpp提供的主程序界面內容及其所包含的兩個核心文件,zuixiao.cpp和zhucha.cpp這是該軟件主要算法程序最小二乘法和逐差法包括它們相應的誤差計算方法。最后mvedit.cpp是界面美觀與焦點等復合問題處理。

          3 界面設計與布局優(yōu)化

          3.1 啟動界面優(yōu)化

          1)布局優(yōu)化:啟動程序,進入啟動界面,界面出現(xiàn)版本號,開發(fā)作者等信息優(yōu)化布局。

          2)界面美觀:在Qt樣式表中添加相應的彩圖達到美觀界面的效果。

          3.2 登陸界面設計

          1)登陸信息:進入啟動界面4~5秒后,出現(xiàn)登陸界面,包括學生學號信息錄入和身份驗證。

          2)錯誤警示:如果學生未錄入信息將不能進入主程序,出現(xiàn)警示窗口。在這里體現(xiàn)到了Qt中最為核心的信號與槽的關鍵應用。通過信號和槽的應用實現(xiàn)各個界面和數(shù)據等的傳遞。比如,點擊按鈕“關閉窗口”就會發(fā)出一個信號,對應的槽函數(shù)close()會被調用以響應這個信號。這種機制使部件與部件,部件與后臺,部件與其他窗口,窗口與窗口之間可以進行交流。

          3.3 主界面布局設計

          為了方便師生們對本物理實驗數(shù)據處理系統(tǒng)的使用,提升用戶體驗,需要對主界面進行合理的布局與適當?shù)拿阑?。在窗口組件的分布方面,采用左右布局使界面更加緊湊。而在對窗口組件的美化方面,首先添加資源文件,然后使用其設計面下的Qt樣式表,修改界面中的文字格式和添加彩圖等功能對主界面進行美觀優(yōu)化。

          例如:為了對文字做美化處理,在Qt更改樣式中添加如下代碼

          QPushButton{ffbnt:75 18pt“華文楷體”;color:rgb(0,0,255);}

          從而對按鈕進行美化處理,將字體變?yōu)榭w,調整其大小,并且改變按鈕字體顏色為藍色,從而讓使用者身心更為愉悅。

          3.4 焦點光標的可控性

          在實際使用中,由于本實驗數(shù)據個數(shù)相對較多,因此簡化對于焦點光標的控制十分重要。

          故定義繼承自LineEdit類的自定義類QMyEdit,在類內以鏈表形式建立對象間順序的邏輯關系。

          類定義頭文件qMyEdit.h如下

          c.jpg

          d.jpg

          而后將LineEdit類的文本框對象提升為QMyEdit類,并重寫QMyEdit類的默認鍵盤事件函數(shù),捕捉上/下方向鍵的輸入,并按順序移動文本框焦點,從而實現(xiàn)對焦點光標的便捷控制,簡化使用時的輸入操作。

          鍵盤事件函數(shù)重寫方式如下

          e.jpg

          3.5 雙算法的實現(xiàn)與變量數(shù)據的可控性

          1)多種算法綜合實現(xiàn):mainwindow類下有兩個程序zuixiao.cpp和zhucha.cpp,分別執(zhí)行該軟件的兩種核心算法:最小二乘法和逐差法,并計算兩種算法相應的誤差。逐差法在數(shù)據處理中較為普遍,而最小二乘法則是利用呈線性關系的兩組數(shù)據擬合為直線,在本實驗的數(shù)據處理中只需獲取其斜率及誤差。

          兩種算法的綜合應用是一個較為新穎的數(shù)據處理方法。學生的實驗數(shù)據輸入后,通過信號和槽的應用,將數(shù)據從主界面?zhèn)鬟f至計算部分,在處理完畢后再將結果返回主界面并顯示。同時顯示兩種方法的結果與其對應誤差,增強計算結果的可信度。

          2)數(shù)據可控的實現(xiàn):數(shù)據可控是指對實驗數(shù)據的個數(shù)和實驗中兩次獲取數(shù)據的間隔間光屏上環(huán)數(shù)的改變數(shù)進行控制,從而不為單一的實驗數(shù)據獲取方式所局限。在主界面上放置兩個spin部件,用以改變輸入數(shù)據個數(shù)和環(huán)的變化個數(shù),同時允許通過鼠標點擊改變數(shù)據大小。在實驗時可以根據實際情況改變數(shù)據組數(shù)與環(huán)的變化個數(shù),從而擴大軟件的適用范圍。

          f.jpg

          4 實驗測試與反饋

          通過對多組不同的數(shù)據對軟件進行測試,并改變數(shù)據組數(shù)與變化環(huán)數(shù),將軟件計算結果與傳統(tǒng)計算結果比較,結果完全吻合。

          在有效數(shù)字保留方面保持了前后一致,確保數(shù)據處理的精確度。

          g.jpg

          5 結束語

          1)軟件投入到實驗教學中后,得到了廣大師生的一致好評。方便了學生對于繁瑣數(shù)據的處理,學生在實驗方面積極性與活躍性得到了一定程度的提高。同時也使得教師在教學方面得到了相當大的幫助,提升了教學質量。

          2)在本軟件中通過對所有用戶可見的文本使用QString,對動態(tài)文本使用QString::arg()函數(shù),對所有文字文本使用tr()函數(shù)來實現(xiàn)國際化。

          3)Qt完全面向對象,方便了系統(tǒng)的開發(fā)。Qt的跨平臺特性簡化了移植過程,針對不同的軟件平臺,應用程序只需要一次性開發(fā)可實現(xiàn)多次編譯;實驗教學也是一門很重要的學科應用。



          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();