是否可以获得有关在Qt中发布事件的控件的信息

Is it possible to get information on the control on which an event was issued in Qt?

本文关键字:布事件 事件 信息 控件 Qt 是否      更新时间:2023-10-16

我正试图为按钮点击创建一个事件处理程序,并将其连接到多个按钮(创建一个简单的计算器,按下每个数字将其文本添加到lineEdit)。

在C#中,我们将使用作为参数传递的sender对象,然后将其强制转换回Button,并获取其Text或其他所需属性,然后继续

我是Qt的新手,我们在Qt中有这样的东西或类似的方法吗?因为我无法从Qt的信号/插槽方法中获得它。

在接收信号的QObject / QWidget上,调用this->sender()(QObject::sender()),并使用dynamic_cast<MyWidgetType*>(...) 进行强制转换

您可以在这里找到一些链接回事件发布者的好例子。

http://doc.qt.digia.com/qq/qq10-signalmapper.html

他们为您提供了不同的示例

  • sender()方法(类似下面Jamin Grey的方法)
  • 子类方法
  • 信号映射器方法