新聞中心

EEPW首頁 > 測試測量 > 設(shè)計應(yīng)用 > Qt跨平臺數(shù)字化壓力測量分析監(jiān)控系統(tǒng)的設(shè)計與實現(xiàn)

Qt跨平臺數(shù)字化壓力測量分析監(jiān)控系統(tǒng)的設(shè)計與實現(xiàn)

作者: 時間:2012-07-06 來源:網(wǎng)絡(luò) 收藏

摘要:利用Qt提供的C++應(yīng)用程序開發(fā)框架,以單片機技術(shù)、數(shù)據(jù)庫技術(shù)為基礎(chǔ),結(jié)合學校原有的測量儀器設(shè)計了一套包括計算機、儲存數(shù)據(jù)的測量。使用操作簡單,人機界面人性化,錯誤機制的反饋信息能幫助操作者及時處理錯誤操作,同時單組數(shù)據(jù)存儲幫助學生更好的記錄自己數(shù)據(jù),為學生提供了一個生動有趣全面的實驗平臺。
關(guān)鍵詞:C++;Qt;數(shù)據(jù)庫;單片機;串行通信

在應(yīng)用物理學科的“壓力測量”實驗裝置中,使用了模擬電路,數(shù)字電路,傳感器與單片機等學科技術(shù)知識。為了完成數(shù)據(jù)采集與,單靠單片機技術(shù)所構(gòu)成的硬件系統(tǒng)架構(gòu),雖然可以做到實時的監(jiān)控,但不利于數(shù)據(jù)處理的深化與更加深入詳細的表達,數(shù)據(jù)的記錄也會帶來誤差,為了解決這些問題,讓學生能更好的領(lǐng)略到時代的知識,在完成壓力測量檢測儀的基礎(chǔ)上,提出本課題的設(shè)計與實現(xiàn)。
PC機具有強大數(shù)據(jù)處理,圖像顯示以及實時監(jiān)控的能力,利用PC機的這些特點,同時編寫友好的應(yīng)用程序來實現(xiàn)數(shù)據(jù)的采集與分析,具有特殊意義——能夠提升整套測試系統(tǒng)的處理能力的上位機得以呈現(xiàn)。
Qt提供的C++應(yīng)用程序開發(fā)框架,可以輕松實現(xiàn)“一次編寫,隨處編譯”的解決方案,編寫的應(yīng)用程序能完美運行于從windows 98到windows 7,從Mac OSX到Linux,從Solaris,HP-UX到其他基于X11的眾多Unix平臺上。
這讓編寫的應(yīng)用程序可以運行在不同的系統(tǒng),很大程度上方便移植。

1 總體架構(gòu)設(shè)計
軟件整體架構(gòu)包括完善的菜單欄、啟動畫面,工具欄,狀態(tài)欄和應(yīng)用程序主界面。軟件架構(gòu)如圖1所示。

本文引用地址:http://butianyuan.cn/article/193643.htm

d.JPG


由啟動畫面進入程序主應(yīng)用程序,主應(yīng)用程序初始化界面提供一些必要的操作說明,單擊清除按鈕將會清除說明,然后進入具體應(yīng)用程序配置,配置完成一些工具按鍵進入使能狀態(tài)同時另一些按鍵進入禁止使用狀態(tài)。
軟件保留一個按鍵作為切換測量與監(jiān)控模式,具體的模式由單片機程序決定,默認為測量模式。
Qt是由C++體系實現(xiàn),采用先進的信號槽機制,每一個類對應(yīng)一個功能,about.cpp中的about類提供軟件版本,作者和日期等信息,dis play.cpp中的Clock類提供數(shù)據(jù)回歸分析曲線擬合,fader.cpp中FaderWidget類提供對整體程序彈出窗口中淡入淡出效果,mainwindow.cpp中的MainWindow類提供應(yīng)用程序主體窗口,win_qextserialport.cpp提供的類用于串口配置底層驅(qū)動文件。

2 界面布局設(shè)計
2.1 菜單欄、工具欄以及狀態(tài)欄的實現(xiàn)
菜單可以讓用戶瀏覽應(yīng)用程序并且可以學會如何處理一些新的事情;上下文菜單和工具欄則提供了對那些常使用的功能進行快速訪問的方法;狀態(tài)欄用于顯示狀態(tài)提示和其他一些臨時消息。
在Q1中實現(xiàn)這3個子窗口是相通的,原理一樣,實現(xiàn)手法一樣,只是對用戶而言看上去不一樣。Qt里面有一個類,叫做QAction,QAction保存有關(guān)于這個動作,也就是action的信息,神奇的是,QAction能夠根據(jù)添加的位置來改變自己的樣子,如果添加到菜單中,它就會顯示成一個菜單項;如果添加到工具欄,它就會顯示成一個按鈕,QAction有一個屬性適用于狀態(tài)欄顯示setStatusTip。通過這個屬性可以設(shè)置狀態(tài)欄顯示信息。
example=new QAction(tr(“”),this);
example->setIcon(QIcon(“”));example->setStatusTip(tr(“”));
最后給動作添加一個槽,以便實現(xiàn)了信號槽connect(example,SIGNAL(triggered()),this,SLOT())。


上一頁 1 2 3 4 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉