2016-02-12 14:59 GMT+01:00 Elvis Stansvik <elvst...@gmail.com>: > 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.
Half replying to myself here: The size hint is actually returning 16x16. I think the problem is maybe that setEditorData has not been called before updateEditorGeometry is called, which in my case means that my sliders has not been created and added to the editor's layout yet. So my question is now: How can I adjust the editor's size after setEditorData has been called? Elvis > > 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