Pythonic/good 什么时候练习在 Qt 中进行子类化

When is it Pythonic/good practice to subclass in Qt

我理解需要自定义行为的情况,例如例如,一个精心构造和操作的 QGraphicsScene,对所讨论的 QObject 进行子类化是一种不费吹灰之力的合理行动。

但是,如果您只是为了代码整洁而想子类化怎么办?例如,如果我有一个 QDockWidget 需要添加几十个小部件和布局,我当然可以先创建 QDockWidget 然后在该实例上执行 gussy 所需的所有代码它了。或者,我也可以在子类 QDockWidget 实例中提供所有 UI 构建代码,这样在主应用程序代码中我只需要创建我的 "custom" QDockWidget 继续前进。这使得主应用程序代码更加清晰。

这是否滥用了子类化的目的?

没错,这不是误用! 从逻辑上讲,subclassing 旨在用于 extend/manipulate 继承 class 的功能。 所以,你做对了。