[PyKDE] QSpinBox wheelEvents
EXT-Harris, Kenneth B
Kenneth.B.Harris at boeing.com
Fri Jun 23 03:54:44 BST 2006
Hi Pete,
I tried your example, and it looked promising. I even tried changing
one widget to a QSpinBox (the widget I'm using), and it still recorded
all wheel events. That's good!
When I tried adding an eventFilter to the parent widget (of the
QSpinBox) on my own project, I got a rather strange result. I have a
QScrollView with my widgets. (Kind of like form controls in a web
browser. It's not a web browser, but the content is dynamically
generated like that.) When I attach an eventFilter to the QScrollView,
only the top-left 20x20px or so gets drawn -- even if the eventFilter is
simply "return False"! Truly bizarre.
Your ideas did lead to a solution, though: a global event filter (as in
your example) that watches for QWheelEvent where obj.parent() is a
QSpinBox. For some reason, it sends events from a plain QObject
instance. I can post an example (120 lines) that shows my 3 failed
approaches and the one that worked, if anybody likes. :-)
> It's all a matter of where you install the event filter, and
> how much dirty tricks you can stand ;-). See attached script
> et.py as a starter.
I was hoping for "no dirty tricks at all", or "692 dirty tricks, so I
have an excuse to upgrade to PyQt4". :-)
Thanks!
- Ken
More information about the PyQt
mailing list