[prev in list] [next in list] [prev in thread] [next in thread] 

List:       pykde
Subject:    [PyKDE] Invalidation of windows
From:       Jeremy Sanders <jeremy () jeremysanders ! net>
Date:       2005-03-20 21:37:44
Message-ID: Pine.LNX.4.62.0503202125110.15076 () xpc20 ! ast ! cam ! ac ! uk
[Download RAW message or body]

I keep hitting a strange problem with Qt. I don't think the problem's in 
my code! Any idea how I can avoid this?

I have a document class which has a "dirty" flag. My output window (a 
QScrollView), checks the flag at intervals (using a QTimer). If the flag 
is set self.UpdateContents() is called.

In drawContents(), it checks the flag. If it is set it puts the output 
into a buffer pixmap, and uses painter.drawPixmap to put that to the 
QScrollView (over the entire thing if the dirty flag is set). The dirty 
flag is then reset.

I'm having problems where only part of the output window is getting 
overwritten using this procedure. It looks like Qt is doing some sort of 
clipping in drawContents(). This happens particularly with a popup menu 
which changes the program's output. When the popup closes, only the window 
beneath the popup is repainted. I can get round it much of the time by 
putting a app.eventLoop().processEvents(allevents, 100000) after the popup 
exec_loop().

Has anyone hit this problem before? Am I doing something stupid??

Now I need to work out how to get the random maybeTip tooltip exceptions I 
get occassionally...

Thanks

Jeremy


-- 
Jeremy Sanders <jeremy@jeremysanders.net>
http://www.jeremysanders.net/                Cambridge, UK
Public Key Server PGP Key ID: E1AAE053

_______________________________________________
PyKDE mailing list    PyKDE@mats.imk.fraunhofer.de
http://mats.imk.fraunhofer.de/mailman/listinfo/pykde
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic