[PySide] Fwd: re-implementing setDown() for custom button
Frank Rueter | OHUfx
frank at ohufx.com
Fri May 4 09:19:07 CEST 2012
oops, indeed.
this was my reply:
Hm, I just realised that none of my drag events seem to have much of an
effect, and the actual drag behaviour is inside the mouseMoveEvent(),
which seems wrong, but works.
I will have a closer look again, but this is very confusing.
On 4/05/12 6:56 PM, Srini Kommoori wrote:
> Forgot to cc the list. May be useful for archival purposes.
>
> ---------- Forwarded message ----------
> From: *Srini Kommoori* <vasure at gmail.com <mailto:vasure at gmail.com>>
> Date: Thu, May 3, 2012 at 11:50 PM
> Subject: Re: [PySide] re-implementing setDown() for custom button
> To: Frank Rueter | OHUfx <frank at ohufx.com <mailto:frank at ohufx.com>>
>
>
> Frank,
>
> Here is a simple working example.
>
> https://gist.github.com/2592661
>
> I tried to debug your snippet but it was taking too long to see what
> is happening with the new button in your example.
>
> May be check with the working example that I have posted and compare
> with what you are doing in the new button.
>
> Hope that helps.
>
> -Srini
>
>
> On Thu, May 3, 2012 at 2:21 PM, Frank Rueter | OHUfx <frank at ohufx.com
> <mailto:frank at ohufx.com>> wrote:
>
> Thanks. I'm just trying to see what I could do better, as I'm very
> new to QT.
> So you reckon it would just be better to use the dragMoveEvent
> virtual function instead of the dragEnterEvent?
>
> I can't see a difference between the two in my code even though
> they should make the button itself receive drag events, right?! So
> I guess I should see the plus icon after all like I do with the
> defaul tbutton, but I don't.
>
> I must still be missing something obvious.
>
> Cheers,
> frank
>
>
> On 4/05/12 9:15 AM, Srini Kommoori wrote:
>> Sorry Safari auto correction making it illegible.
>>
>> What I meant was, I would prefer to have dragMoveEvent
>> with event.setDropAction(QtCore.Qt.CopyAction).
>>
>> You can ignore the comment as you have custom implemented the
>> whole pushbutton and its behavior.
>>
>> -Srini
>>
>> On Thu, May 3, 2012 at 1:32 PM, Frank Rueter | OHUfx
>> <frank at ohufx.com <mailto:frank at ohufx.com>> wrote:
>>
>> Hi Srini,
>>
>>
>> >>(I would prefer to do have dragMoveEvent)
>> I'm not quite sure what you mean. Can you elaborate?
>>
>> I did what you suggested but can't see any change (maybe
>> because I'm on osx?).
>>
>> Cheers,
>> frank
>>
>>
>> On 3/05/12 9:49 PM, Srini Kommoori wrote:
>>> Thats great.
>>>
>>> One thing I observed is: for your custom button, if you want
>>> a nice/native copy icon to appear - set following in your
>>> dragEnterEvent(I would prefer to do have dragMoveEvent)
>>>
>>> event.setDropAction(QtCore.Qt.CopyAction)
>>> event.accept()
>>>
>>> -Srini
>>>
>>> On Thu, May 3, 2012 at 1:51 AM, Frank Rueter | OHUfx
>>> <frank at ohufx.com <mailto:frank at ohufx.com>> wrote:
>>>
>>> DOH. Minutes after posting this I realised that the
>>> little plus on the cursor only shows up on a "droppable"
>>> area, which my custom button is not (and the default one
>>> is I guess).
>>> In other words I just solved all the problem myself by
>>> trying to strip it all down for a test to post.
>>> Sorry, will try and be a bit more accountable next time.
>>>
>>>
>>>
>>>
>>> On 3/05/12 8:37 PM, Frank Rueter | OHUfx wrote:
>>>> Here is some example code that I ripped out of my main
>>>> code:
>>>> http://pastebin.com/jXZXXebW
>>>>
>>>> It compares a sub classed QPushButton with one I
>>>> painted from scratch.
>>>>
>>>> I was actually able to solve some of the problems in
>>>> the process (and for some reason the QObject.sender()
>>>> works as well now) , but the one thing that still
>>>> doesn't work with the new button is when I try to set a
>>>> drag action like this:
>>>> drag.start( Qt.CopyAction )
>>>>
>>>> The drag action for the "new button" is in line 192
>>>> which doesn't seem to have any effect when dragging the
>>>> button, while the one for the "old button" in line 27
>>>> works as expected and turns the mouse cursor into a
>>>> little plus sign when dragging.
>>>>
>>>> What am I missing?
>>>>
>>>>
>>>> Cheers,
>>>> frank
>>>>
>>>>
>>>> On 3/05/12 7:11 PM, Frank Rueter | OHUfx wrote:
>>>>> Indeed, my apologies.
>>>>> Will strip out the relevant parts and post an example
>>>>> soon.
>>>>>
>>>>> On 3/05/12 7:06 PM, Srini Kommoori wrote:
>>>>>> Code snippet would help in understanding what you are
>>>>>> asking.
>>>>>>
>>>>>> For most of my cases this works great:
>>>>>> pushButton.clicked.connect(findFile)
>>>>>>
>>>>>> If you are trying to implement your own style
>>>>>> button, QPushButton also takes icon.
>>>>>>
>>>>>>
>>>>>> On Wed, May 2, 2012 at 11:23 PM, Frank Rueter | OHUfx
>>>>>> <frank at ohufx.com <mailto:frank at ohufx.com>> wrote:
>>>>>>
>>>>>> Any takers?
>>>>>> I'm kinda stuck with this one unfortunately.
>>>>>>
>>>>>>
>>>>>> On 2/05/12 6:35 PM, Frank Rueter | OHUfx wrote:
>>>>>> > sorry for the monolog, but I just realised I
>>>>>> will also have to make my
>>>>>> > custom button play along when it's parent's
>>>>>> self.sender() function is
>>>>>> > called as well.
>>>>>> > The QSignalSender doesn't quite seem to be the
>>>>>> right thing to use as it
>>>>>> > is implemented in the parent's constructor,
>>>>>> however I would like to
>>>>>> > implement this in the button's class if
>>>>>> possible to make it self contained.
>>>>>> >
>>>>>> > How would I go about that?
>>>>>> >
>>>>>> > Cheers,
>>>>>> > frank
>>>>>> >
>>>>>> > On 2/05/12 5:44 PM, Frank Rueter | OHUfx wrote:
>>>>>> >> Hi,
>>>>>> >>
>>>>>> >> to follow up my previous mail, I also just
>>>>>> noticed that I have to
>>>>>> >> re-implement the QAbstractButton's setDown()
>>>>>> function to make sure my
>>>>>> >> custom button doesn't stay down after a
>>>>>> drag&drop action.
>>>>>> >>
>>>>>> >> With a QPushButton I simply called
>>>>>> self.setDown( False ) from inside the
>>>>>> >> mouseMoveEvent, so now I'm trying to
>>>>>> understand how to recreate this
>>>>>> >> behaviour when using a custom paintEvent().
>>>>>> >>
>>>>>> >> Any tips would be greatly appreciated.
>>>>>> >>
>>>>>> >> Cheers,
>>>>>> >> frank
>>>>>> >> _______________________________________________
>>>>>> >> PySide mailing list
>>>>>> >> PySide at qt-project.org
>>>>>> <mailto:PySide at qt-project.org>
>>>>>> >>
>>>>>> 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
>>>>>> _______________________________________________
>>>>>> PySide mailing list
>>>>>> PySide at qt-project.org <mailto:PySide at qt-project.org>
>>>>>> 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
>>>>
>>>>
>>>> _______________________________________________
>>>> PySide mailing list
>>>> PySide at qt-project.org <mailto:PySide at qt-project.org>
>>>> 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
>>>
>>>
>>
>
>
>
>
> _______________________________________________
> PySide mailing list
> PySide at qt-project.org
> http://lists.qt-project.org/mailman/listinfo/pyside
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/pyside/attachments/20120504/14a9d9b6/attachment.html>
More information about the PySide
mailing list