從零開始做3D地圖編輯器(五)(基於QT與OGRE)

第一步,先把window封裝起來,我新建一個MainWidget類,繼承自QWidget類,類的頭文件如下:

 

 

cpp文件如下:

 

 

main.cpp文件如下:

 

 

編譯運行,結果和上次一樣。

接下來申請一個自定義Slot,首先在頭文件public:前加入

Q_OBJECT;

只有加入了Q_OBJECT,你才能使用QT中的signalslot機制。這點很重要,不然你編譯的時候會報“找不到slot”的錯誤。

然後在protected:  前加入:

 

 

 

slot同樣也分privatepublicprotected,意義和c++一樣。

CPP中加入相應執行:

 

 

connect改成:

 

 

 

編譯運行,這時點擊按鈕就會改變文字了。就這麼簡單。

信號也可以自定義,不過信號自定義相對來說用武之地稍微小一點,定義的方式和slot定義差不多,都得在頭文件中定義,

舉個例子:點擊按鈕後文本改變,觸發一個新信號,這個信號會把文字又變回來。

在頭文件中加入:

 

 

 

再增加一個Slot用來對這個信號進行反饋。在private slots:後加入

 

 

 

CPP中加入執行:

 

 

 

注意信號是不需要加執行代碼。

然後修改SetText()函數加入觸發新信號的代碼:

 

 

最後加入新的connect

 

 

編譯運行,結果和我們想要的一樣。

 

 

注:信號和槽都是可以有參數的。

有關QT的基礎知識就介紹到這裏,具體控件的使用方法,請自行參考助手。

 

本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/vickylh/archive/2010/05/18/5604812.aspx

發佈了13 篇原創文章 · 獲贊 1 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章