我有一个简单的PyQt4应用程序。我有2个自定义QWidgets,一个代表画布,我动态添加其他类型的自定义QWidgets。两者都覆盖了paintEvent。
出于测试目的,我立即将一个ItemWidget实例添加到latters构造函数中的CanvasWidget中:
iw = ItemWidget(self, x=0, y=0)
(自己是父 - CanvasWidget的实例当然)。显示它,并调用其paintEvent。我不是通过布局添加这些,因为我使用绝对定位。
然后我通过CanwasWidgets接口添加了一些这些ItemWidgets,使用相同的代码片段,但这些不可见,并且它们的paintEvent永远不会被调用!如果我将片段添加到除构造函数之外的任何其他部分,它也是一样的。我错过了一些明显的东西吗?