Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我对 Qt 信号有一些令人困惑的问题。
(1) 假设 A 是 B 的父母。B 发出信号。信号会去A吗?使用一些代码来解释我的问题。
connect(B, SIGNAL(B_signal()), C, SLOT(C_slot())); connect(A, SIGNAL(B_signal()), C, SLOT(C_slot()));
第二行有效吗?
(2) 如果 A 从 B 导出,A 是否有 B 的信号?
谢谢。
这是我对这个主题的理解:
(1) 不,第二行无效。子父关系用于定义对象的层次结构-它允许检索对象的所有子对象/对象的父对象,这允许对层次结构树的分支自动执行一些操作-例如在对象被删除时删除对象的所有子对象被删除等等。但是,信号和槽属于每个特定对象。当信号被发出时,它正在被对象所在线程的事件循环处理。
(2) 是的,在这种情况下,A 拥有 B 的所有信号、槽、方法和成员变量,在继承的情况下,您可以将其视为 B 是 A 的一部分。