[Interest] Item editor at preferred size when using custom delegate?

Elvis Stansvik elvstone at gmail.com
Fri Feb 12 14:59:39 CET 2016


Hi all,

I have a very basic item delegate which opens up a custom editor:

class MineralLevelsDelegate(QStyledItemDelegate):

    def createEditor(self, parent, option, index):
        return MineralLevelsEditor(parent)

    def updateEditorGeometry(self, editor, option, index):
        editor.setGeometry(
            option.rect.x(), option.rect.y() + option.rect.height(),
            editor.sizeHint().width(), editor.sizeHint().height())

What you see in updateEditorGeometry(...) above is my attempt at
making the editor show up at its preferred size (instead of being
constrained to the cell in the QTreeView I'm using). My attempt is to
use the editor's sizeHint() in the call to setGeometry(...).

The problem seems to be that the sizeHint() or the editor is 0x0 at
that point (has not been laid out?), and consequently the editor show
up as a tiny little rect (see attached sizehint.png). I'm also
attaching hardcoded.png, which shows the editor when I instead
hardcode it to 200x100. This is kind of the look I want, but obviously
I don't want to hardcode it to 200x100, but have it use its preferred
size.

So question is: How can I make the editor widget show up at its preferred size?

Many thanks in advance.

Elvis
-------------- next part --------------
A non-text attachment was scrubbed...
Name: sizehint.png
Type: image/png
Size: 16666 bytes
Desc: not available
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20160212/9c143b04/attachment.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: hardcoded.png
Type: image/png
Size: 17568 bytes
Desc: not available
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20160212/9c143b04/attachment-0001.png>


More information about the Interest mailing list