从零开始做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万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章