第一步,先把window封装起来,我新建一个MainWidget类,继承自QWidget类,类的头文件如下:
Main.cpp改为:
编译运行,结果和上次一样。
接下来申请一个自定义Slot,首先在头文件public:前加入宏
Q_OBJECT;
只有加入了Q_OBJECT,你才能使用QT中的signal和slot机制。这点很重要,不然你编译的时候会报“找不到slot”的错误。
然后在protected: 前加入:
slot同样也分private、public、protected,意义和c++一样。
CPP中加入相应执行:
把connect改成:
编译运行,这时点击按钮就会改变文字了。就这么简单。
信号也可以自定义,不过信号自定义相对来说用武之地稍微小一点,定义的方式和slot定义差不多,都得在头文件中定义,举个例子:点击按钮后文本改变,触发一个新信号,这个信号会把文字又变回来。
在头文件中加入:
再增加一个Slot用来对这个信号进行反馈。在private slots:后加入
CPP中加入执行:
注意信号是不需要加执行代码。
然后修改SetText()函数加入触发新信号的代码:
最后加入新的connect:
编译运行,结果和我们想要的一样。
注:信号和槽都是可以有参数的。
有关QT的基础知识就介绍到这里,具体控件的使用方法,请自行参考助手。