单击 QPushButton 时调用带参数的函数

Calling a function with arguments when a QPushButton is clicked

我想在用户单击按钮时调用函数 function(QPushButton button)。 我试过 connect(myButton, SIGNAL(clicked()), this, SLOT(myFunction(myClass))); 但它不起作用。我可以为插槽做一个单独的功能,但我需要为用户创建的按钮动态创建连接。

您可以使用 sender() 函数获取按钮。此函数用于获取插槽中的发件人。然后你必须将它转换为 class(在本例中为 QPushButton)才能使用它。如果需要传递另一个参数,请查看 问题的答案。

我找到了解决问题的办法。 @Rinat Veliakhmedov 告诉我检查 that question, but QSignalMapper is deprected and does not work with custom objects. I searched for a replacement for this method and found emit myFunction(myClass) 的解决方案非常适合我的代码。