[Qt-interest] Runtime Error :- connect: No such slot ...
Andre Somers
andre at familiesomers.nl
Fri Feb 19 15:23:55 CET 2010
Bradley T. Hughes wrote:
> On 02/19/2010 01:10 PM, Sean Harmer wrote:
>
>> On Friday 19 February 2010 12:03:29 Bradley T. Hughes wrote:
>>
>>> On 02/19/2010 12:38 PM, Sean Harmer wrote:
>>>
>>>> Normally connect is smart enough to figure this out, but in your case the
>>>> QThread object has affinity with the GUI thread even though you emit the
>>>> signal in the context of the worker thread. So you need to be explicit
>>>> here.
>>>>
>>> Actually, emit is smart enough to handle this as well. If you emit a signal
>>> for an object that is not affine to the current thread, the connection will
>>> be queued (when using the default Qt::AutoConnection, of course).
>>>
>> Ah OK that's good to know. I had thought that the queued/direct decision was
>> made at the time of the connect statement. Is this deferred decision making in
>> the case of Qt::AutoConnection something new or has this always been the case?
>>
>
> It's always been the case (since the thread affinity of sender/receiver can
> change at any time). The decision is always made at emit time; connect()
> just stores the connection type.
>
>
It could, but does it happen often enough to warrant the overhead?
Then again, you could set a direct connection explicitly if you need the
speed increase, if that's measurable at all...
André
More information about the Qt-interest-old
mailing list