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
_______________________________________________
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest

Reply via email to