• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于QtCreator的嵌入式GUI程序設(shè)計(jì)和移植

      2021-08-06 11:13:10
      科教導(dǎo)刊·電子版 2021年17期
      關(guān)鍵詞:用戶名控件對(duì)話框

      戴 軍

      (江蘇開放大學(xué)江蘇城市職業(yè)學(xué)院 江蘇·南京 210000)

      我們常用QtCreator來設(shè)計(jì)嵌入式GUI并可以仿真調(diào)試,如果調(diào)試通過就可以將GUI移植到目標(biāo)機(jī)中使用。我們提出假設(shè)即通過Ubuntu中QtCreator設(shè)計(jì)GUI并通過RHEL編譯移植到S5pv210目標(biāo)機(jī)中運(yùn)行,可通過以下實(shí)驗(yàn)驗(yàn)證其可行性。

      1 基于QtCreator的嵌入式GUI程序設(shè)計(jì)

      運(yùn)行QtCreator-新建文件或工程,選擇Qt控件項(xiàng)目-QtGui應(yīng)用,設(shè)置項(xiàng)目名稱為mainWidget,設(shè)置類名為Widget,基類為Qwidget,頭文件為widget.h,源文件為widget.cpp,界面文件為widget.ui,接著新建Qt設(shè)計(jì)師界面類,選擇界面模板為Dialog without Buttons,設(shè)置類名為loginDlg,頭文件為logindlg.h,源文件為logindlg.cpp,界面文件為logindlg.ui。

      在界面文件logindlg.ui中放置“用戶名”和“登錄密碼”兩個(gè)Text Edit控件,在“用戶名”和“登錄密碼”后面分別放置兩個(gè)LineEdit控件,并將其objectName分別命名為usrLineEdit和pwdLineEdit,放置“登錄”和“退出”兩個(gè)Push Button控件,并將其objectName分別命名為loginBtn和exitBtn。單擊菜單“編輯”-“編輯信號(hào)/槽”或者按下快捷鍵F4,鼠標(biāo)左鍵按住并拖動(dòng)logindlg.ui界面中的退出按鈕到空白處并釋放,在配置連接設(shè)置對(duì)話框中將loginDlg(QDialog)選擇為close(),然后單擊確定退出設(shè)置。單擊菜單“編輯”-“編輯控件”或者按下快捷鍵F3回到編輯控件狀態(tài),鼠標(biāo)右鍵點(diǎn)擊ogindlg.ui界面中的登錄按鈕在彈出的菜單中選擇“轉(zhuǎn)到槽”,在轉(zhuǎn)到槽設(shè)置對(duì)話框的選擇信號(hào)中選擇clicked()并點(diǎn)擊確定進(jìn)入click事件的槽函數(shù),在其中寫入代碼accept();為使密碼顯示為黑點(diǎn)以及移除字符串開頭和結(jié)尾的空白字符,判斷用戶名和密碼輸入是否正確,同時(shí)保證輸入錯(cuò)誤的情況下,重新進(jìn)入登錄對(duì)話框并清空用戶名和密碼且光標(biāo)自動(dòng)跳轉(zhuǎn)到用戶名輸入框,可以將logindlg.cpp代碼修改如下:

      如圖1所示,執(zhí)行以上程序,就可以實(shí)現(xiàn)輸入用戶名和密碼正確的情況下,點(diǎn)擊登錄按鈕就可以進(jìn)入主窗口并顯示qrs.png的圖片,如果輸入錯(cuò)誤,則彈出出錯(cuò)提示對(duì)話框。點(diǎn)擊退出按鈕退出程序。

      圖1:mainWidget調(diào)試運(yùn)行界面

      2 基于RHEL嵌入式GUI程序的編譯和移植

      如圖2所示,將Ubuntu中的mainWidget工程文件夾拷貝至RHEL根目錄下,將RHEL中的qmake程序拷貝至mainWidget工程文件目錄中,運(yùn)行/mainWidget/qmake指令生成makefile文件,運(yùn)行make編譯生成可執(zhí)行目標(biāo)文件mainWidget。

      圖2:mainWidget編譯

      編寫設(shè)置環(huán)境變量以及運(yùn)行 mainWidget的腳本文件run.sh,腳本文件run.sh程序如下:

      將可執(zhí)行目標(biāo)文件mainWidget、文件目錄img和run.sh打包壓縮下載到S5pv210實(shí)驗(yàn)箱中并解壓運(yùn)行run.sh,效果如圖3所示。

      圖3:mainWidget移植和運(yùn)行效果

      3 小結(jié)

      通過基于 QtCreator的嵌入式 GUI程序設(shè)計(jì)以及基于RHEL嵌入式 GUI程序編譯和移植,可以看到此方案對(duì)于S5pv210的應(yīng)用是完全可行的,可為類似的GUI設(shè)計(jì)及移植提供必要的啟示。之所以使用QtCreator來進(jìn)行嵌入式GUI設(shè)計(jì),是考慮到QtCreator集成了特定于Qt的功能,對(duì)Qt類結(jié)構(gòu)可一目了然,集成了Qt Designer可視化布局和格式構(gòu)建器,只需要單擊一下就可以生成和運(yùn)行Qt項(xiàng)目。

      猜你喜歡
      用戶名控件對(duì)話框
      《護(hù)士進(jìn)修雜志》投稿程序
      正?;謴?fù)虛擬機(jī)
      Bootlace Worms’Secret etc.
      關(guān)于.net控件數(shù)組的探討
      軟件(2018年7期)2018-08-13 09:44:42
      機(jī)智的快遞員
      快速抓取對(duì)話框中的完整信息
      電腦迷(2012年22期)2012-04-29 20:30:54
      就這樣玩會(huì)VBA中常見的自定義控件
      電腦迷(2012年24期)2012-04-29 00:44:03
      ESET NOD32專家答疑等
      輕輕松松……在線制作電子書
      干掉不斷彈出的對(duì)話框
      栖霞市| 江门市| 新安县| 石景山区| 宜兰县| 西吉县| 合肥市| 鹤山市| 垫江县| 宁化县| 南充市| 彰武县| 马山县| 应用必备| 济南市| 灵寿县| 来凤县| 海南省| 勐海县| 闽清县| 吉安市| 德兴市| 万宁市| 潼南县| 永登县| 托克逊县| 芷江| 蒙自县| 黑山县| 宜城市| 利辛县| 平顺县| 松原市| 南陵县| 旅游| 南和县| 历史| 宝应县| 竹北市| 阿拉善盟| 锡林郭勒盟|