[PyKDE] performance issues
Matt Newell
newellm at blur.com
Thu Jan 11 00:57:18 GMT 2007
On Wednesday 10 January 2007 15:52, Steven James Samuel Stapleton wrote:
> Sure, I thought the size issue was more due to not wanting to deal with a
> lot of code.
>
> run the ItemGenerator.py script in the top level directory. I've actually
> got a newer version with tooltips, but this one will do for the example,
> especially since the file in question is a lot shorter (this one also
> displays the behavior, I wrote the new stuff today).
>
> Click the "add features" button, and a number of sets will be added to the
> lower box equal to the number in the box next to "add feature" button.
>
> the ui/components/feature_box.py file/class has the class that
> holds/creates the sets (with the addBars() function), and the classes are
> defined in the ui/components/feature_bars.py file/class.
>
> http://www.thestapletons.org/jim/APPS.tar.bz2
>
>
Seems to me that it's the QTextEdit's that are taking the time to construct.
It takes about 28 seconds to create 1000 "features" - 7000 QTextEdits. It
only takes about 3.5 seconds if i replace the QTextEdit's with simple
QWidgets.
I would suggest avoiding so many QTextEdits. You could use QLineEdits if you
don't need multiple lines, or avoid using widgets for the view by using a
QTreeView/QTreeWidget and have custom editting widgets when the user double
clicks to edit a row.
Also your hide/show functions are redundant. If you hide a qt widget all of
it's children are hidden automatically, and will reappear when you show the
widget. If you construct a widget with children and call show on it, all the
children are automatically shown.
Matt
More information about the PyQt
mailing list