[PySide] adding buttons to table view in an efficient manner
Frank Rueter | OHUfx
frank at ohufx.com
Mon Jul 2 05:43:54 CEST 2018
this seems to come up a lot but I still don't have a routine for the
solution so I wanted to see what other thinks:
Task: write a table view for an unknown amount of rows, and each row
needs to have a progressbar and two buttons.
The progressbar is covered by a super simple custom paint method that
just fills the option rectangle (I found using
/QtGui.QApplication.style().drawControl /was too slow for a large amount
of rows and causes jerky resizing behaviour).
As for the buttons I am having the view's viewportEvent (event
type=QtCore.QEvent.Type.Paint) loop over the model's rows, checking each
row's visualRect() against the viewport.
If the row is currently visible I open a persistent editor for it,
otherwise I close the persistent editor.
The delegate's createEditor() method takes care of the required
This seems to work ok, but still seems a bit jerky when resizing a large
window with lots o rows.
The other approach I am contemplating is to draw rendered buttons as
pixmaps into the cells and only swap them out for actual buttons on
I'm sure the latter will make things a lot snappier, so should be worth
Does anybody have any input on this?
ohufxLogo 50x50 <http://www.ohufx.com>
*vfx compositing <http://ohufx.com/compositing.html> | *workflow
customisation and consulting <http://ohufx.com/customising.html>* *
Your gateway to over 1,000 free tools... right inside of Nuke
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the PySide