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

        ?

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

        2015-08-10 10:30:38徐文螢
        電子設(shè)計(jì)工程 2015年22期
        關(guān)鍵詞:數(shù)據(jù)處理界面軟件

        徐文螢,吳 汛,孫 立

        (南京航空航天大學(xué) 理學(xué)院,江蘇 南京 211100)

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

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

        同時(shí)Qt是一個(gè)跨平臺(tái)的圖形用戶界面應(yīng)用程序開發(fā)的C++工具箱[4]。它提供給應(yīng)用程序開發(fā)者建立藝術(shù)級(jí)的圖形用戶界面所需的各種功能,從而直觀的對(duì)可視化用戶交互界面進(jìn)行設(shè)計(jì)。Qt是完全面向?qū)ο蟮?,易于擴(kuò)展,并且允許真正地組件編程。

        1 實(shí)驗(yàn)原理簡介

        邁克爾遜干涉儀實(shí)驗(yàn)[8]原理如圖1所示,從光源S發(fā)出的光線經(jīng)半反射鏡的反射和透射后分為兩束光線,一束向上一束向右,向上的光線又經(jīng)C反射回來,向右的光線經(jīng)補(bǔ)償板后被反射鏡D反射回來在半反射鏡處被再次反射向下,最后兩束光線在觀察屏上相遇,產(chǎn)生干涉。干涉儀的整體結(jié)構(gòu)如圖2所示,圖中1~16為儀器上各個(gè)部件的數(shù)字編號(hào),可查詢相關(guān)資料。

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

        軟件功能的實(shí)現(xiàn)依靠3種機(jī)制:C++面向?qū)ο缶幊虣C(jī)制,Qt的信號(hào)與槽機(jī)制,Qt的事件機(jī)制。

        Qt編程是由C++體系實(shí)現(xiàn),面向?qū)ο蟮木幊谭椒ê蚎t豐富的類庫,使用戶能夠更簡單靈活的實(shí)現(xiàn)各種功能。在Qt Creator的幫助模式下,可以查詢所有類的信息。應(yīng)用這種機(jī)制,可以使程序結(jié)構(gòu)靈活,層次感強(qiáng)[6]。

        圖1 邁克爾遜干涉儀光路示意圖Fig.1 Schematic diagram of optical path of Michelson interferometer

        圖2 邁克爾遜干涉儀的結(jié)構(gòu)圖Fig.2 Structure of Michelson interferometer

        軟件整體構(gòu)架包括主界面與啟動(dòng)界面兩大部分構(gòu)成。學(xué)生在做完相應(yīng)的邁克爾遜干涉實(shí)驗(yàn)后,即可啟動(dòng)軟件,進(jìn)行數(shù)據(jù)

        輸入與計(jì)算。在數(shù)據(jù)的輸入過程辨清環(huán)變數(shù)與數(shù)據(jù)組數(shù),使用不同算法進(jìn)行數(shù)據(jù)處理,采用二者比較精確值,操作簡便和人性化。系統(tǒng)構(gòu)架圖如圖3所示。

        圖3 軟件架構(gòu)示意圖Fig.3 Software architecture diagram

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

        3 界面設(shè)計(jì)與布局優(yōu)化

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

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

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

        3.2 登陸界面設(shè)計(jì)

        1)登陸信息:進(jìn)入啟動(dòng)界面4~5秒后,出現(xiàn)登陸界面,包括學(xué)生學(xué)號(hào)信息錄入和身份驗(yàn)證。

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

        3.3 主界面布局設(shè)計(jì)

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

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

        QPushButton{font:75 18pt"華文楷體";color:rgb(0, 0,255);}

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

        3.4 焦點(diǎn)光標(biāo)的可控性

        在實(shí)際使用中,由于本實(shí)驗(yàn)數(shù)據(jù)個(gè)數(shù)相對(duì)較多,因此簡化對(duì)于焦點(diǎn)光標(biāo)的控制十分重要。

        故定義繼承自LineEdit類的自定義類QMyEdit,在類內(nèi)以鏈表形式建立對(duì)象間順序的邏輯關(guān)系。

        類定義頭文件qMyEdit.h如下

        而后將LineEdit類的文本框?qū)ο筇嵘秊镼MyEdit類,并重寫QMyEdit類的默認(rèn)鍵盤事件函數(shù),捕捉上/下方向鍵的輸入,并按順序移動(dòng)文本框焦點(diǎn),從而實(shí)現(xiàn)對(duì)焦點(diǎn)光標(biāo)的便捷控制,簡化使用時(shí)的輸入操作。

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

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

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

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

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

        圖4 雙算法結(jié)果顯示界面Fig.4 Double arithmetic results display interface

        圖5 數(shù)據(jù)控制界面Fig.5 Data control interface

        4 實(shí)驗(yàn)測(cè)試與反饋

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

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

        圖6 主程序界面Fig.6 The main program interface

        5 結(jié)束語

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

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

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

        [1]Jasmin Blanchette,Mark Summerfield.C++GUI Qt4編 程[M].2版.北京:電子工業(yè)出版社,2008.

        [2]霍亞飛.Qt Creator快速入門[M].北京:北京航空航天大學(xué)出版社,2012.

        [3]付輝.QT用戶界面的設(shè)計(jì)與實(shí)現(xiàn)[J].中國新通信,2014(17):104-105.

        [4]蔡志明.精通Qt4編程 [M].2版.北京:電子工業(yè)出版社,2011.

        [5]成浩,盧紫毅.Linux窗口程序設(shè)計(jì)——Qt4精彩實(shí)例分析[M].北京:清華大學(xué)出版社,2008.

        [6]江帆,孫立,尹華山.基于Qt環(huán)境下物理參數(shù)綜合分析系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].電子設(shè)計(jì)工程,2014(8):34-36.

        [7]劉匯丹.基于Qt的國際化圖形用戶界面設(shè)計(jì)與實(shí)現(xiàn)[J].中文信息學(xué),2006(4):94-99.

        [8]劉小廷.大學(xué)物理實(shí)驗(yàn)[M].北京:科學(xué)出版社,2009.

        [9]皮德常.C++程序設(shè)計(jì)教程[M].北京:機(jī)械工業(yè)出版社,2009.

        [10]鄭阿奇.Qt開發(fā)實(shí)踐[M].北京:電子工業(yè)出版社,2011.

        猜你喜歡
        數(shù)據(jù)處理界面軟件
        認(rèn)知診斷缺失數(shù)據(jù)處理方法的比較:零替換、多重插補(bǔ)與極大似然估計(jì)法*
        禪宗軟件
        英語文摘(2021年10期)2021-11-22 08:02:26
        ILWT-EEMD數(shù)據(jù)處理的ELM滾動(dòng)軸承故障診斷
        國企黨委前置研究的“四個(gè)界面”
        軟件對(duì)對(duì)碰
        基于FANUC PICTURE的虛擬軸坐標(biāo)顯示界面開發(fā)方法研究
        人機(jī)交互界面發(fā)展趨勢(shì)研究
        基于希爾伯特- 黃變換的去噪法在外測(cè)數(shù)據(jù)處理中的應(yīng)用
        手機(jī)界面中圖形符號(hào)的發(fā)展趨向
        新聞傳播(2015年11期)2015-07-18 11:15:04
        談軟件的破解與保護(hù)
        精品(2015年9期)2015-01-23 01:36:01
        一本色道久久88加勒比—综合| 漂亮的小少妇诱惑内射系列| 亚洲av第二区国产精品| 中文字幕一区二区中出后入| 成人毛片无码一区二区三区| 日本一区二区三区高清千人斩| 亚洲性爱区免费视频一区| 亚洲精品中文字幕乱码| 亚洲av中文无码乱人伦下载| 久久精品一区二区三区av| 久久免费精品国产72精品剧情 | 国产在线一区二区三区乱码| 三叶草欧洲码在线| 青草热久精品视频在线观看| 一区二区三区熟妇人妻18| 97cp在线视频免费观看| 亚洲成av人片在线观看麦芽| 久久99热精品这里久久精品| 最新日韩精品视频免费在线观看| 日韩在线观看入口一二三四| 国产精品免费精品自在线观看| 国产免费网站看v片元遮挡| 国产成人高清视频在线观看免费 | 亚洲蜜桃视频在线观看| 亚洲美女av一区二区在线| 欧美 丝袜 自拍 制服 另类| 在线视频一区二区日韩国产| 亚洲国产综合一区二区| 少妇久久久久久被弄高潮| 欧美巨大xxxx做受中文字幕| 男女高潮免费观看无遮挡| 亚洲色图专区在线观看| 国产精品网站在线观看免费传媒 | 67194熟妇人妻欧美日韩| 99热免费观看| 午夜国产在线精彩自拍视频| 强开小婷嫩苞又嫩又紧视频| 中国一 片免费观看| 激情五月婷婷久久综合| 国产精品网站91九色| 久久综合精品国产丝袜长腿|