[PySide] manually closing editor on custom delegate
Frank Rueter | OHUfx
frank at ohufx.com
Thu May 3 23:09:18 CEST 2018
Thanks Matthieu, much appreciated!
That seems so obvious now that I see it :-D
I have to admit that I am now considering using the context menu and
customising that, since it already displays the behaviour I am after
(single click to open and close when you click off).
Good to have both options though, so thanks again!
Cheers,
frank
On 3/05/18 8:09 PM, Matthieu Cadet wrote:
>
> Oups forgot the markdown highlight :P
>
> Don’t know if it’s the right way but I got it work using this:
>
> |else: # Can't get this to work. I want to close the editor here
> (without committing any data). print "\tclicked off - I want to close
> teh editor now if it's open"
> self.closeEditor(self.itemDelegate().current_editor,
> QtWidgets.QAbstractItemDelegate.NoHint) |
> |def createEditor(self, parent, option, index): '''Creates a combo box
> to chose the version to sync in case tehre are mote than one used in a
> sequence. Only show the editor if the mouse click ocurrs in the area
> where the editor lives. ''' self.current_editor =
> QtWidgets.QComboBox(parent)
> self.current_editor.setMaximumHeight(self.editorHeight) return
> self.current_editor |
>
>
> On Thu, May 3, 2018 at 10:09 AM, Matthieu Cadet
> <matthieu.cadet at gmail.com <mailto:matthieu.cadet at gmail.com>> wrote:
>
> Don't know if it's the right way but I got it work using this:
>
> ```python
> else:
> # Can't get this to work. I want to close the editor
> here (without committing any data).
> print "\tclicked off - I want to close teh editor now
> if it's open"
> self.closeEditor(self.itemDelegate().current_editor,
> QtWidgets.QAbstractItemDelegate.NoHint)
> ```
>
> ```python
> def createEditor(self, parent, option, index):
> '''Creates a combo box to chose the version to sync in
> case tehre are mote than one used in a sequence.
> Only show the editor if the mouse click ocurrs in the area
> where the editor lives.
> '''
> self.current_editor = QtWidgets.QComboBox(parent)
> self.current_editor.setMaximumHeight(self.editorHeight)
> return self.current_editor
> ```
>
> On Thu, May 3, 2018 at 10:06 AM, Matthieu Cadet
> <matthieu.cadet at gmail.com <mailto:matthieu.cadet at gmail.com>> wrote:
>
> Ah ok I miss read your problem... I got the same behaviour if
> I click the Edit zone and then click again the edit zone on
> the same Cell,
> clicking outside of the edited cell close the Editor.
>
> On Thu, May 3, 2018 at 9:59 AM, Matthieu Cadet
> <matthieu.cadet at gmail.com <mailto:matthieu.cadet at gmail.com>>
> wrote:
>
> Hi Frank!
>
> I've tried your sample code and I don't see this behaviour
> on Linux Centos, I can click to open the editor, choose an
> item inside
> then when I click outside of it, it close normally.
>
> Maybe try to remove the line `editor.showPopup()` in the
> `def setEditorData(self, editor, index):`
> as you call
> ```
> if editorArea.contains(cursorPos):
> # Click was inside of editor area so open it
> for the index
> self.setCurrentIndex(index)
> self.edit(index)
> ```
>
> you don't have to .showPopup() normally... or maybe it is
> macos bug :P
>
> On Wed, May 2, 2018 at 11:34 PM, Frank Rueter | OHUfx
> <frank at ohufx.com <mailto:frank at ohufx.com>> wrote:
>
> anyone?
>
>
> On 2/05/18 6:32 PM, Frank Rueter | OHUfx wrote:
>> Hi all,
>>
>> I think I need some MVC help once again:
>>
>> I am using a custom item delegate that uses the
>> bottom 20 pixels of a cell in a table view for a
>> QComboBox (the rest will be static content).
>> I can create the editor in the right spot etc, but I
>> can't figure out how to close it again when the user
>> clicks into the upper part of the cell.
>> I tried all sorts of events and signals in the view,
>> the delegate and the editor itself but to no avail.
>> This is the state of things:
>>
>> The initial table:
>>
>>
>> The table with the open editor after clicking into
>> the bottom 20 pixels of a cell:
>>
>>
>> The table after I click away from the editor but into
>> the same cell, in which case I'd like to close it and
>> show the initial state as seen above, but I just
>> can't figure out how to.
>>
>>
>> Attached is the working code to produce the above images.
>>
>> Any help would be greatly appreciated!
>>
>> Cheers,
>> frank
>>
>>
>> --
>>
>> ohufxLogo 50x50 <http://www.ohufx.com>
>> *vfx compositing <http://ohufx.com/compositing.html>
>> | *workflow customisation and consulting
>> <http://ohufx.com/customising.html>* *
>> *<http://ohufx.com/compositing.html>*
>> <http://www.nukepedia.com/nubridge>
>>
>>
>> Your gateway to over 1,000 free tools... right inside
>> of Nuke <http://www.nukepedia.com/nubridge>
>>
>>
>>
>> _______________________________________________
>> PySide mailing list
>> PySide at qt-project.org <mailto:PySide at qt-project.org>
>> http://lists.qt-project.org/mailman/listinfo/pyside
>> <http://lists.qt-project.org/mailman/listinfo/pyside>
>
>
> _______________________________________________
> PySide mailing list
> PySide at qt-project.org <mailto:PySide at qt-project.org>
> http://lists.qt-project.org/mailman/listinfo/pyside
> <http://lists.qt-project.org/mailman/listinfo/pyside>
>
>
>
>
> --
> Matthieu Cadet
> Compositor Artist & TD,
> nWave Digital
> matthieu.cadet at gmail.com <mailto:matthieu.cadet at gmail.com>
>
>
>
>
> --
> Matthieu Cadet
> Compositor Artist & TD,
> nWave Digital
> matthieu.cadet at gmail.com <mailto:matthieu.cadet at gmail.com>
>
>
>
>
> --
> Matthieu Cadet
> Compositor Artist & TD,
> nWave Digital
> matthieu.cadet at gmail.com <mailto:matthieu.cadet at gmail.com>
>
>
>
>
> --
> Matthieu Cadet
> Compositor Artist & TD,
> nWave Digital
> matthieu.cadet at gmail.com <mailto:matthieu.cadet at gmail.com>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/pyside/attachments/20180504/f7ef688f/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Screen Shot 2018-05-02 at 6.27.47 PM.png
Type: image/png
Size: 20665 bytes
Desc: not available
URL: <http://lists.qt-project.org/pipermail/pyside/attachments/20180504/f7ef688f/attachment.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Screen Shot 2018-05-02 at 6.27.52 PM.png
Type: image/png
Size: 28188 bytes
Desc: not available
URL: <http://lists.qt-project.org/pipermail/pyside/attachments/20180504/f7ef688f/attachment-0001.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Screen Shot 2018-05-02 at 6.27.57 PM.png
Type: image/png
Size: 22408 bytes
Desc: not available
URL: <http://lists.qt-project.org/pipermail/pyside/attachments/20180504/f7ef688f/attachment-0002.png>
More information about the PySide
mailing list