我向Qt槽传递了一个参数,该参数是一个我已经写过的类(Image_Viewer)。如何继承Qpushbutton信号
为了在信号和插槽之间建立连接,它们都必须具有相同类型的参数(如果我错了,请纠正我)。
我只需要Qpushbutton类的clicked()信号,但由于它没有相同的我插入槽的参数,连接无法完成。
如果制作另一个也有(Image_Viewer)作为参数的信号是唯一的解决方案,那么我该如何以及在哪里写它?如果不是,那么解决方案是什么?
PS:对不起,我的英语
我向Qt槽传递了一个参数,该参数是一个我已经写过的类(Image_Viewer)。如何继承Qpushbutton信号
为了在信号和插槽之间建立连接,它们都必须具有相同类型的参数(如果我错了,请纠正我)。
我只需要Qpushbutton类的clicked()信号,但由于它没有相同的我插入槽的参数,连接无法完成。
如果制作另一个也有(Image_Viewer)作为参数的信号是唯一的解决方案,那么我该如何以及在哪里写它?如果不是,那么解决方案是什么?
PS:对不起,我的英语
你可以使用一个QSignalMapper
来模拟“加入”的一个参数clicked()
插槽。文档中的例子就是这么做的。
更多信息请参见Signals and Slots - Advanced Usage部分。
您可以尝试使用额外的插槽拨打您的插槽。
connect(btn,SIGNAL(clicked()),this,SLOT(slotToCallYourRealSlot()));
void YourClass::slotToCallYourRealSlot()
{
yourRealSlot(Image_Viewer());
}
void YourClass::yourRealSlot(Image_Viewer viewer)
{
//your code
}
谢谢,真的很有帮助 – hamza
非常感谢:) – hamza