我向Qt Slot传递了一个参数,该参数是一个我写过的类(Image_Viewer)。
要在信号和插槽之间建立连接,它们都必须具有相同类型的参数(如果我错了,请纠正我)。
我只需要Qpushbutton classe的clicked()信号,但由于它没有与我写过的Slot相同的参数,连接无法完成。
如果制作另一个也有(Image_Viewer)作为参数的信号是唯一的解决方案,那么我怎么能在哪里写呢?如果不是那么解决方案是什么?
PS:抱歉我的英文
答案 0 :(得分:2)
您可以使用QSignalMapper
模拟“添加”clicked()
广告位的参数。文档中的示例就是这样做的。
Signals and Slots - Advanced Usage部分中的更多信息。
答案 1 :(得分:1)
您可以尝试使用额外的插槽来拨打电话。
connect(btn,SIGNAL(clicked()),this,SLOT(slotToCallYourRealSlot()));
void YourClass::slotToCallYourRealSlot()
{
yourRealSlot(Image_Viewer());
}
void YourClass::yourRealSlot(Image_Viewer viewer)
{
//your code
}