#关于Qt自定义信号

作用:跨页面自定义信号(signals): ,之前FFmpeg用过,这次发现有个新的需要,当一个控件提升为自定义类时,无法直接添加其他控件,必须在控件原来所在的Widget上添加其他控件,但是参数却在自定义类里时,需要自定义类,定义一个信号,发送到Widget上,在Widget获得信号时,执行增加新的控件。

  1. signal.h
signals:                    //使用signals声明信号函数,访问级别为protected
    void sendPoint(QPoint textPoint);     //信号只能声明不能定义
  1. signal.cpp
void send(){
    sendPoint(event->pos());
}
  1. slot.h
void readPoint(QPoint textPoint);
  1. slot.cpp
 //信号函数与槽函数需要一致,并且不出现参数名
QObject::connect(ui->paitView, SIGNAL(sendPoint(QPoint)), this, SLOT(readPoint(QPoint)));

void Paint::readPoint(QPoint textPoint)
{
    qDebug()<<textPoint.x();
    qDebug()<<textPoint.y();
}
tag(s): none
show comments · back · home
Edit with Markdown