Hi,

I'm trying to override QWidget.show() and call it as a slot, but it doesn't
seem to receive the signal.  Specifically, I subclass QMdiSubWindow (called
MySubWindow) and try to override show().  I instantiate this subclass as
self.window in an instance of MyClass, and then create a QAction called
self.menuEntry and call

self.menuEntry.triggered.connect(self.window.show)

When self.menuEntry is triggered, it turns out that QMdiSubWindow.show() is
called, not MySubWindow.show().  If instead of overriding show() I just
create a new method, say MySubWindow.showa(), and connect as

self.menuEntry.triggered.connect(self.window.showa)

then MySubWindow.showa() is called perfectly.  Also, if I create a method
MyClass.doShow(), which calls self.window.show(), and connect as

self.menuEntry.triggered.connect(self.show)

then MySubWindow.show() is called perfectly.

Does anyone know why this might be happening? This code was working fine
when I was using PyQt with new-style signals and slots, but maybe there is a
subtlety that I'm not aware of.

If needed, I can provide a script that shows this.  Thanks!

Ben
_______________________________________________
PySide mailing list
PySide@lists.pyside.org
http://lists.pyside.org/listinfo/pyside

Reply via email to