【问题标题】:QT Signal Slot QuestionQT 信号槽问题
【发布时间】:2011-10-29 00:05:15
【问题描述】:

我在 QGridLayout 中有 QLineEdits 矩阵。我想在 QLineEdits 的文本之一更改时发出信号。我可以将信号连接到插槽,但无法知道哪个 QLineEdit 已更改。我想发送 QLineEdit 的行列号,但是根据 nokiafourms 将变量传递到插槽。

不知道大家有什么建议吗?

一种方法是将旧值与新值进行比较,但这效率低。

谢谢!

【问题讨论】:

    标签: qt qt4 signals-slots


    【解决方案1】:

    您可以使用QSignalMapper 类。这将允许你做你所要求的。

    有关更多信息和一些示例,另请参阅Advanced Signals and Slots Usage

    【讨论】:

      【解决方案2】:

      QObject::sender()
      编辑:请注意那里的 QSignalMapper 参考。

      【讨论】:

      • 谢谢!我使用了信号映射器。如何获取 sender 属性?
      • 在任何槽内,你可以调用QObject::sender(),它返回“调用”这个槽的对象。您可以使用 static_cast(QObject::sender()) 将返回的对象转换为 T (其中 T 是您想要的类型)。
      猜你喜欢
      • 2020-10-01
      • 2017-02-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-11
      • 2021-02-12
      相关资源
      最近更新 更多