樹莓派入門教程——使用Qt開發界面程序

前言
        Qt是一個1991年由奇趣科技開發的跨平臺C++圖形用戶界面應用程序開發框架。它既能夠開發GUI程序,也可用於開發非GUI程序,好比控制檯工具和服務器。Qt是面向對象的框架,使用特殊的代碼生成擴展(稱爲元對象編譯器(Meta Object Compiler, moc))以及一些宏,易於擴展,容許組件編程。2008年,奇趣科技被諾基亞公司收購,QT也所以成爲諾基亞旗下的編程語言工具。2012年,Qt被Digia收購。2014年4月,跨平臺集成開發環境Qt Creator 3.1.0正式發佈,實現了對於iOS的徹底支持,新增WinRT、Beautifier等插件,廢棄了無Python接口的GDB調試支持,集成了基於Clang的C/C++代碼模塊,並對Android支持作出了調整,至此實現了全面支持iOS、Android、WP。
        Qt是1991年奇趣科技開發的一個跨平臺的C++圖形用戶界面應用程序框架。它提供給應用程序開發者創建藝術級的圖形用戶界面所需的全部功能。Qt很容易擴展,而且容許真正地組件編程。基本上,Qt 同 X Window 上的 Motif,Openwin,GTK 等圖形界 面庫和 Windows 平臺上的 MFC,OWL,VCL,ATL 是同類型的東西。

        簡單的說,用Qt能夠寫出很容易就移植到其餘平臺的程序,基本上從新編譯下程序便可。

樹莓派上安裝Qt
使用以下命令進行安裝
sudo apt-get install qt4-dev-tools
sudo apt-get install qtcreator

因爲安裝Qt須要從網絡下載大概200多M的文件,因此首先樹莓派得接入網絡,其次安裝時間可能比較長,請耐心等待...
安裝完畢後,點擊桌面左上角的Menu若能夠看到以下圖所示Qt程序圖標,則說明Qt安裝成功。
<ignore_js_op> 

Qt配置
首次使用Qt須要對工具鏈進行配置,進入菜單Tools->Options->Build&Run
<ignore_js_op> 
<ignore_js_op> 

點擊右上角的Add按鈕,選擇GCC
<ignore_js_op> 

按照下圖選擇編譯器和調試器的路徑
<ignore_js_op> 
<ignore_js_op> 


新建Qt測試工程
<ignore_js_op> 
<ignore_js_op> 
<ignore_js_op> 
<ignore_js_op> 
<ignore_js_op> 
<ignore_js_op> 
<ignore_js_op> 

新建完工程後,程序整個框架就已經搭好,咱們直接編譯下程序試試
<ignore_js_op> 

編譯沒問題,下面咱們展開左邊的Forms文件目錄,雙擊mainwindow.ui文件,而後咱們在這個界面上添加兩個按鈕,兩個按鈕分別控制樹莓派的一個引腳輸出高低電平,以下圖所示:
<ignore_js_op> 
<ignore_js_op> 

在右邊修改好按鈕控件的名稱,同時修改按鈕顯示的文件,選擇某個按鈕控件,單擊右鍵,在彈出的對話框中選擇Go to slot..,而後選擇Clicked()函數,Qt會自動鏈接一個信號和槽,同時在mainwindow.cpp文件中自動添加這個槽函數,咱們在裏面寫按鈕點擊事件便可。
<ignore_js_op> 
<ignore_js_op> 

咱們如今構造函數中完成GPIO的初始化,而後在每一個按鈕點擊事件函數裏面完成GPIO高低電平輸出控制,而後再次編譯程序,出現以下問題:
<ignore_js_op> 

根據提示,咱們知道是由於在連接的時候沒有找到wiringPi相關函數的緣由致使,因此咱們須要在鏈接的時候引入這個庫,操做方式很簡單,只須要在.pro文件中加入該庫便可,以下圖所示:
<ignore_js_op> 

而後再次編譯,正常狀況下到這裏就會編譯成功了,進入工程目錄,咱們會發現有個很長名字的文件夾,裏面都是Qt在編譯的時候產生的一些中間文件,固然咱們編譯生成的可執行文件也在裏面,名字和工做名字同樣,打開控制檯,用cd命令進入該目錄。而後用
sudo ./gpio_led
便可運行程序,程序運行效果以下圖所示:
<ignore_js_op> php

21.png (172.18 KB, 下載次數: 0)html

下載附件編程

2015-4-10 16:52 上傳服務器

 



點擊下兩個按鈕,看是否是控制了樹莓派的GPIO.0管腳輸出了高低電平?
工程及源碼下載:
<ignore_js_op> GPIO_LED.zip (24.13 KB, 下載次數: 30) 

轉載請註明出處,本文連接地址:http://www.embed-net.com/thread-142-1-1.html網絡

相關文章
相關標籤/搜索