为什么在构造函数中发出信号不起作用?

时间:2016-12-19 10:16:10

标签: c++ qt

我想在构造函数中发出信号,如下所示:

VideoStream::VideoStream(QWidget *parent):
    QMainWindow(parent),
    ui(new Ui::VideoStream)
{
    ui->setupUi(this);
    ……  //m_deviceIP already intialized here
    emit streamReq(m_deviceIP);//emitting at here
    recentRecordReq();//this function include a emit sentence,too
}

但它不起作用! 为了测试,我添加一个Button然后将emit句子移动到插槽中,它运行良好:

void VideoStream::on_streamReqBtn_clicked()
{
    emit streamReq(m_deviceIP);
}

我不知道为什么。

1 个答案:

答案 0 :(得分:7)

它确实发送了信号,但没有人能够得到它。换句话说,当您将类实例connect转换为其他内容时,当您调用connect方法时,您的类实例已经创建并发送了该信号,因此当您调用{{ 1}}该信号已经发送,没有人收到它。

connect