[PyQt] table model and pixmap
Scott Frankel
frankel at circlesfx.com
Tue Sep 9 18:03:16 BST 2008
Hello,
Looking at documentation for the QSqlRelationalDelegate class, I've
hacked my way through to displaying a pixmap in a table view, though
it's buggy.
Hopefully, someone will be able to suggest solutions or documentation/
examples to fix the following:
- at launch, the fields display the path strings to the images,
instead of the images themselves
- on double-clicking, the fields suddenly display the images (hurray!)
- on making any other mouse-click selections in the table, all data
(image, text string, &c.) vanish (???)
My ThumbnailDelegate class follows below.
Thanks in advance!
Scott
class ThumbnailDelegate(QtSql.QSqlRelationalDelegate):
def __init__(self, parent=None):
super(ThumbnailDelegate, self).__init__(parent)
def paint(self, painter, option, index):
QtSql.QSqlRelationalDelegate.paint(self, painter, option, index)
def createEditor(self, parent, option, index):
if index.column() == THUMBNAIL:
editor = QtGui.QLabel(parent)
return editor
else:
return QtSql.QSqlRelationalDelegate.createEditor(self, parent,
option, index)
def setEditorData(self, editor, index):
if index.column() == THUMBNAIL:
imageStr = index.model().data(index,
QtCore.Qt.DisplayRole).toString()
imageMap = QtGui.QPixmap(QtCore.QString(self.tr(imageStr)))
editor.setPixmap(imageMap)
else:
QtSql.QSqlRelationalDelegate.setEditorData(self, editor, index)
def setModelData(self, editor, model, index):
if index.column() == THUMBNAIL:
model.setData(index, QtCore.QVariant(editor.text()))
else:
QtSql.QSqlRelationalDelegate.setModelData(self, editor, model,
index)
On Sep 8, 2008, at 9:56 PM, Scott Frankel wrote:
>
> Hello,
>
> Can anyone point me to documentation &/or examples for setting
> pixmaps in a table view that gets its data from a table model?
>
> I have a table view I populate from a QSqlRelationalTableModel
> instance. One of the model's data fields is an absolute path to
> small thumbnail images on disk. I'd like to intercept the model's
> data for the image paths and paint the images as pixmaps in one of
> the columns of cells of the table view.
>
> Thanks in advance!
> Scott
>
>
> _______________________________________________
> PyQt mailing list PyQt at riverbankcomputing.com
> http://www.riverbankcomputing.com/mailman/listinfo/pyqt
>
More information about the PyQt
mailing list