- 相關推薦
2016年嵌入式QT編程小技巧
做嵌入式系統的童鞋都需要用到QT,這個可視化的編程工具確實非常強悍,今天yjbys就為大家介紹QT編程的小技巧,通過幾個小技巧讓大家更喜歡這個工具。
1、Qt信號和插槽通信
Signal和Slot是Qt中一種用于對象間通信的調用機制,不同于傳統的函數回調方式。信號和插槽是Qt中非常有特色的地方,可以說是Qt編程區別于其它編程的標志。
信號和插槽不是標準C++功能,需要特殊的語句才能創建信號和插槽,但是C++編譯器不能理解這些語句。必須經過特殊的工具對象編輯器MOC(Meta Object Compiler)將源代碼中創建信號和插槽的語句翻譯成C++編譯器能夠理解的代碼。
步驟:
(1)進入/sbc2410/x86-qtopia目錄,運行set-env腳本,設置環境變量,然后創建文件夾signalslot。
$ cd /sbc2410/x86-qtopia
$ mkdir signalslot
(2)進入signalslot目錄,建立文件signalslot.cpp,并編寫程序,然后用progen命令生成工程文件signalslot.pro。
$ cd signalslot
$ vi signalslot.cpp
$ progen –t app.t –o signalslot.pro
(3)使用tmake工具,生成signalslot工程的Makefile文件,并按照6.1小節進行修改,然后編譯,得到可執行文件signalslot。
$ tmake –o Makefile signalslot.pro
(4)啟動虛擬控制臺,運行signalslot程序,點擊“Quit”按鈕,程序將退出。
$ ./signalslot -qws
信號和插槽實驗結果
2、按鈕
一個友好的圖形界面,一般都會有對話框,用于人機交互。Qt中有很多類型的對話框,如顏色對話框、字體對話框、文件對話框、輸入對話框和消息對話框等。不同對話框都有一系列的API函數,調用這些函數必須包含頭文件qdialog.h。
(1)進入/sbc2410/x86-qtopia目錄,運行set-env腳本,設置環境變量,然后創建文件夾dialog.。
$ cd /sbc2410/x86-qtopia
$ mkdir dialog
(2)進入dialog目錄,建立文件userdialog.h和userdialog.cpp,并編寫程序,然后用progen工具生成工程文件userdialog.pro。
$ cd dialog
$ vi userdialog.h
$ vi userdialog.cpp
$ progen –t app.t –o userdialog.pro
(3)使用tmake工具生成userdialog工程的Makefile文件,并進行修改,編譯生成可執行文件userdialog。
$ tmake –o Makefile userdialog.pro
$ make
(4)啟動虛擬控制臺,運行userdialog程序,點擊POPUP按鈕,將會彈出一個新的對話框,點擊對話框的POPDOWN按鈕,新對話框將關閉。
$ ./userdialog -qws
對話框實驗結果
3、Qt布局
一個用戶圖形界面,布局也是至關重要,合理的布局能增加界面的美感,亦能夠提高軟件的易用性。圖形界面編程,一般包括基本組件、組件的布局以及組件的回調。Qt中有很多種布局,最基本的就是QLayout(包括QBoxLayout:QHBoxLayout,QVBoxLayout)和QGridLayout。使用了布局相關API函數的應用程序,需要包含頭文件qlayout.h。
步驟:
(1)進入/sbc2410/x86-qtopia目錄,運行set-env腳本,設置環境變量,然后創建文件夾layout。
$ cd /sbc2410/x86-qtopia
$ . set-env
$ mkdir layout
(2)進入layout目錄,建立文件layout.cpp,并編寫程序,然后用progen工具生成工程文件layout.pro。
$ cd layout
$ vi layout.cpp
$ progen –t app.t –o layout.pro
(3)使用tmake工具,生成layout工程的Makefile文件,并進行修改,編譯,得到可執行文件layout。
$ tmake –o Makefile layout.pro
(4)啟動虛擬控制臺,運行layout程序。
$ ./layout -qws
【嵌入式QT編程小技巧】相關文章:
數控車床編程小技巧08-04
數控編程的技巧09-10
數控編程的技巧11-05
Java基本編程技巧07-13
javascript編程技巧方法06-04
嵌入式系統編程中的代碼優化07-27
學習嵌入式的技巧10-02
嵌入式學習技巧07-23
計算機等級考試十個編程小技巧09-14
數控加工中心編程技巧07-29