如何继承Qpushbutton信号

发布于 2024-11-16 17:07:37 字数 271 浏览 1 评论 0原文

我将一个参数传递给 Qt Slot ,该参数是我编写的一个类( Image_Viewer )。

为了在信号和槽之间建立连接,它们都必须具有相同类型的参数(如果我错了,请纠正我)。

我只需要 Qpushbutton 类的 clicked() 信号,但由于它与我编写的插槽参数不同,因此无法完成连接。

如果制作另一个也有 (Image_Viewer) 作为参数的信号是唯一的解决方案,那么我可以如何以及在哪里编写它?如果不是那么解决方案是什么?

PS:对不起我的英语

i passed an argument to a Qt Slot , the argument is a class that i have wroted ( Image_Viewer ).

to make connection betwen a signals and a slots , they both have to had the same type of argument ( correct me if i am wrong ).

i only need the clicked() signal of the Qpushbutton classe but since it has not the same argument of the Slot i have wroted , the connection cant be done.

if making another signal that also have (Image_Viewer) as an argument is the ONLY SOLUTION , then how and where can i wrote it ? and if it isnt then what is the solution ?

PS : Sorry for my english

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

晨与橙与城 2024-11-23 17:07:37

您可以使用 QSignalMapper 来模拟“添加” clicked() 槽的参数。文档中的示例就是这样做的。

更多信息请参见信号和槽 - 高级用法< /a> 部分。

You could use a QSignalMapper to simulate "adding" a parameter to the clicked() slot. The example in the docs do just that.

More information in the Signals and Slots - Advanced Usage section.

靑春怀旧 2024-11-23 17:07:37

您可以尝试使用额外的插槽来调用您的插槽。

connect(btn,SIGNAL(clicked()),this,SLOT(slotToCallYourRealSlot()));

void YourClass::slotToCallYourRealSlot()
{
   yourRealSlot(Image_Viewer());
}

void YourClass::yourRealSlot(Image_Viewer viewer)
{
   //your code
}

you can try by using an extra slot to call your slot.

connect(btn,SIGNAL(clicked()),this,SLOT(slotToCallYourRealSlot()));

void YourClass::slotToCallYourRealSlot()
{
   yourRealSlot(Image_Viewer());
}

void YourClass::yourRealSlot(Image_Viewer viewer)
{
   //your code
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文