QT connect类之间的传递
我在头文件中定义了一个信号槽函数,然后在对应的CPP中写了一个触发此信号的的函数,然后在另一个CPP中用connect链接这个信号,来触发另一个函数失败。附上代码:在一个...
我在头文件中定义了一个信号槽函数,然后在对应的CPP中写了一个触发此信号的的函数,然后在另一个CPP中用connect链接这个信号,来触发另一个函数失败。
附上代码:
在一个头文件中,定义了一个信号槽:
signals:
void xinhao();
在对应的CPP中:
connect(ui->pushputton, SIGNAL(clicked()), this, SLOT(set1()));//构造函数
void Widget::set1()
{
emit xinhao();
}
在另一个CPP中:
Widget *w=new Widget;
connect(w, SIGNAL(xinhao()), this, SLOT(set2())); //构造函数
void Mainwindow::set2()
{
QMessageBox::information(this, sTitle, sMessage, "确定", "取消");
}
问题:
无法触发set2函数,求高人指点 展开
附上代码:
在一个头文件中,定义了一个信号槽:
signals:
void xinhao();
在对应的CPP中:
connect(ui->pushputton, SIGNAL(clicked()), this, SLOT(set1()));//构造函数
void Widget::set1()
{
emit xinhao();
}
在另一个CPP中:
Widget *w=new Widget;
connect(w, SIGNAL(xinhao()), this, SLOT(set2())); //构造函数
void Mainwindow::set2()
{
QMessageBox::information(this, sTitle, sMessage, "确定", "取消");
}
问题:
无法触发set2函数,求高人指点 展开
2个回答
2019-03-31
展开全部
我也遇到类似的问题,求解。
现在猜测是在继承QWidgets的类不能与其他类直接使用connect交互。
我换成了先调用其他类的单例->requestXXX()
然后再emit 信号,就能正常调用槽里面的函数了。
现在猜测是在继承QWidgets的类不能与其他类直接使用connect交互。
我换成了先调用其他类的单例->requestXXX()
然后再emit 信号,就能正常调用槽里面的函数了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询