[PyQt] display a widget in a QTableView
Kovid Goyal
kovid at kovidgoyal.net
Thu Oct 16 18:06:57 BST 2008
class ProgressBarDelegate(QAbstractItemDelegate):
def sizeHint(self, option, index):
return QSize(120, 30)
def paint(self, painter, option, index):
opts = QStyleOptionProgressBarV2()
opts.rect = option.rect
opts.minimum = 1
opts.maximum = 100
opts.textVisible = True
percent, ok = index.model().data(index, Qt.DisplayRole).toInt()
if not ok:
percent = 0
opts.progress = percent
opts.text = QString(_('Unavailable') if percent == 0 else
'%d%%'%percent)
QApplication.style().drawControl(QStyle.CE_ProgressBar, opts, painter)
On Thursday 16 October 2008 09:50:54 Wim Verhavert wrote:
> Dear all,
>
> I want to do something in PyQT I have seen many times in other
> applications: A QTableView where the last column contains a QProgressbar.
> Basically I want to implement some kind of cue where each item is processed
> which can take a while. To give some visual feedback I want to display
> a progressbar in the last column. This would allow sorting on progress
> and such.
> I have the book 'Rapid GUI Programming with Python and Qt' by Mark
> Summerfield at hand which contains a section about custom delegates. I
> have done similar things in the past, but somehow I'm not able to
> translate this into the thing I want to do. Is there somebody out
> there that could give me a head start?
>
> I think it will need to create a custom delegate and override the
> paint method. But how? How do I paint a progressbar? Do I have to do
> this from scratch, i.e. filling a part of the cell with a color, or
> can I use a QProgressbar? Any suggestions are welcome.
>
> Cheers!
>
> Wim
> _______________________________________________
> PyQt mailing list PyQt at riverbankcomputing.com
> http://www.riverbankcomputing.com/mailman/listinfo/pyqt
>
> !DSPAM:3,48f771b131535171880063!
--
_____________________________________
Kovid Goyal MC 452-48
California Institute of Technology
1200 E California Blvd
Pasadena, CA 91125
cell : +01 626 390 8699
office: +01 626 395 6595 (449 Lauritsen)
email : kovid at theory.caltech.edu
web : http://www.kovidgoyal.net
_____________________________________
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: This is a digitally signed message part.
Url : http://www.riverbankcomputing.com/pipermail/pyqt/attachments/20081016/09ae9bd3/attachment.bin
More information about the PyQt
mailing list