使用Qt窗口小部件从Python中的通常的方法似乎是子类它们。

Qt物件类有很大的许多方法,所以难免我要去最终添加的方法的子类中,使用相同的名称作为一个从Qt物件继承。在Python中,所有的方法都是虚拟的,所以我很担心的是,一些Qt代码可能最终会叫我的方法,而不是预期的Qt的一个 - 在最坏的情况下,打破了一些边缘的情况下,不轻易表露向上在测试。

在另一方面,也许所有PyQt的方法只是包装器C ++代码,这当然将是不受任何我在Python子类的术语做。

任何人都知道副手是哪种情况?

有帮助吗?

解决方案

如果垫层C ++方法是虚拟的,其覆盖它们的Python方法将被调用的任何时间C ++代码调用它们。如果它们只是定期方法,任何C ++代码将调用原始C ++缺省方法(Python代码将调用Python方法,但因为它看到Python对象和所有的方法都是“虚拟”那里)。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top