PyQt QCalendarWidget events question

tinnews at isbd.co.uk tinnews at isbd.co.uk
Mon Jul 16 12:28:38 EDT 2012


tinnews at isbd.co.uk wrote:
> I am trying to use the PyQt4 calendar widget to perform some different
> actions on specific dates.  There are three events available:-
> 
>     selectionChanged()
>     activated(QDate)
>     clicked(QDate)
> 
> On trying all these out it would appear that the event handlers get
> called as follows:-
> 
>     The clicked(QDate) event gets called if you click on an already
>     selected date.
> 
>     The selectionChanged() and then the clicked(QDate) events are
>     called when you click on a new date.
> 
>     The selectionChanged(), then the clicked(QDate) and then the
>     activated(QDate) events are called if you double-click on a new date.
> 
>     The clicked(QDate) and then the activated(QDate) events are called
>     if you double-click on an already selected date.
> 
> 
> How can I get a single-click on a date to get 'Action1' and double-click
> on a date to get 'Action2'?

I'm sorry, this got sent a bit before I'd completed it.  The trouble
is that I want to run Action1 if I single-click on a date whether or
not it's a changed date and I want to run Action2 if I double-click on
a date whether or not it's a changed date.  However I don't see how I
can do this because of the order in which the event handlers are
called.

Is there any way to manipulate this so I can get the result I want? 
At the moment the only way I can see to do it is to wait a while after
a click and then look at what actions occurred but this seems a real
bodge.

-- 
Chris Green



More information about the Python-list mailing list