我想要一个Qt4(PyQt4)程序中的一个范例,其中一个组件能够响应信号而不知道它来自哪里。如何在Qt4中广播信号
我的初始阅读表明我必须明确地将信号连接到插槽。但是我想要的是任何一个组件都能够发送一个信号,并让它由另一个组件处理。
与其他工具包比较,例如,在wxWidgets中我会使用事件。这些自动从子窗口/对象传播给父母。在每个级别都可以处理。这意味着如果我有很多可能发出相同事件的孩子,我不必将他们全部连接到处理程序。我可以将处理程序放在父窗口或窗口层次结构中的某个更高级别。这意味着只有事件发生器和消费者需要了解事件。消费者不需要知道事件的来源,有多少这样的来源,或者其他任何事情。
这是可能的Qt - 有没有另一种方法?也许有信号和插槽的替代事件机制?
我不确定我是否了解你,但你可以将信号连接到信号(所谓的触发)。或者,也许你想要将很多具有相同信号的对象连接到一个插槽,并获得关于谁是发件人的信息? – 2010-07-20 10:07:34
我已经添加了一些更多的问题来澄清 – 2010-07-20 19:10:28
如果你想要信号作为事件行事,为什么不使用[events](http://doc.trolltech.com/4.6/eventsandfilters.html)呢? – 2010-07-23 20:02:07