外贸网站模板设计,做网站必须会php吗,动漫是怎么制作的,高凡猎头公司自定义信号与槽
自定义信号与槽是实现对象间通信的一种机制#xff0c;比如按钮和窗口间的通信。
一、定义信号
Signal关键字声明的类成员函数。不需要实现#xff0c;只需要声明。
signals:void mySignals();//定义信号,不用实现二、定义槽
可以使任何普通成员函数比如按钮和窗口间的通信。
一、定义信号
Signal关键字声明的类成员函数。不需要实现只需要声明。
signals:void mySignals();//定义信号,不用实现
二、定义槽
可以使任何普通成员函数类定义中使用关键字slot标识有返回类型可接受参数。参数需要与信号发出的参数类型匹配。 信号带参数的情况下槽可以无参数。
private slots:void mySlots();//头文件定义槽void Widget::mySlots()//.cpp实现
{std::cout mySlot std::endl;
}
三、连接信号与槽
使用QObjectconnect
connect(this,SIGNAL(mySignals()),this,SLOT(mySlots()));四、发射信号
使用emit关键字发射信号 emit mySignals();//发送信号可见五、完整代码
无参与有参
在这里插入代码片#ifndef WIDGET_H
#define WIDGET_H#include QWidget
#include iostream
#include QDebugQT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACEclass Widget : public QWidget
{Q_OBJECTpublic:Widget(QWidget *parent nullptr);~Widget();signals:void mySignals();//定义信号,不用实现void mySignalsWithPara(int value);//带参数
private slots:void mySlots();//定义槽void mySlotsWithPara(int value);//带参数private:Ui::Widget *ui;
};
#endif // WIDGET_H
#include widget.h
#include ui_widget.hWidget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui-setupUi(this);connect(this,SIGNAL(mySignals()),this,SLOT(mySlots()));connect(this,SIGNAL(mySignalsWithPara(int)),this,SLOT(mySlotsWithPara(int)));emit mySignals();//发送信号可见emit mySignalsWithPara(100);//发送信号可见}Widget::~Widget()
{delete ui;
}void Widget::mySlots()
{std::cout mySlot std::endl;
}void Widget::mySlotsWithPara(int value)
{
// std::cout mySlotWithPara std::endl;// std::cout value std::endl;qDebug() mySlotWithPara ;q Debug() value ;}