[PyQt] signal twice emit

Csaba Toth csaba.toth at i3rendszerhaz.hu
Thu Jul 1 18:50:14 BST 2010


Hi!

last evening recompiled the program with PyQt 4.6.2 (it has Qt 4.5.3),
and today the problem gone, no one complained.

Phil, what you think, is it a good idea to compile PyQt 4.6.2+Qt 4.6.3,
or PyQt 4.7.3+Qt 4.5.3? Or have a better idea?

thanks in advance,
Csaba



2010.06.30. 21:28 keltezéssel, Csaba Toth írta:
> Hi!
> 
>> On Tue, Jun 29, 2010 at 3:06 PM, Csaba Toth wrote:
>>>
>>> def p(self, clicked=False):
>>>     print('emitted')
>>> self.connect(self.btn_save, QtCore.SIGNAL("clicked(bool)"), self.p)
>>
>> Initially, I thought this could be a problem with both the clicked()
> and the
>> clicked(bool) signals being connected to the slot, but that shouldn't
> happen
>> if the signature is used like this. You could check to see if the behavior
>> changes by decorating p() like this:
>>
>>   @pyqtSlot("bool")
>>   def p(self, clicked=False):
>>       print('emitted')
>>
>> It's difficult to know exactly what could cause this without some more
>> context. I've seen code that uses signal-slot auto-connection and also
>> includes connect() calls, resulting in double connections.
> 
> There is no double connection, checked it manually with a print next to
> the connect.
> 
> And i tried this decorator today, from the 20 people 3 people dropped an
> email to me that they had this problem showed up today. The first did
> after 3 work hour with the program, and after a few double invokioning
> it started to work normally.
> (this is a simple data store program. There is one dialog with a lot
> check box and an ID lineEdit field. If they click on the save button it
> first store the datas in a postgres table, and than clears the form. if
> the lineedit is empty they had a warning pops up. the error looks like a
> worker fills up the form, click on the save button, than the warning
> shows up they haven't filled up the ID lineedit, but they did. This
> happens because at the first invokion of the click event it save than
> clear the form, and at the second run the ID lineedit truly empty.
> during the day they didn't touch the progrma, they don't exit, just fill
> up the form and save.)
> 
> looks like a memory leak for me :(
> 
> 2010.06.29. 21:14 keltezéssel, David Boddie írta:
>> On Tue Jun 29 18:42:37 BST 2010, Csaba Toth wrote:
>>
>> It would be interesting to try it with an earlier version if possible, though
>> I could understand if that's not possible.
> 
> Yes, i will try this tomorrow, first will go back to PyQt 4.6.* version.
> 
> I have a lot installers saved, becase sadly from the website no old
> versions downloadable. :(
> 
> thanks for helping, let see what will happen tomorrow with older version!
> 
> regards,
> Csaba
> 
> 
>>
>>
>> David
> 
> _______________________________________________
> PyQt mailing list    PyQt at riverbankcomputing.com
> http://www.riverbankcomputing.com/mailman/listinfo/pyqt



More information about the PyQt mailing list