Results 1 to 9 of 9

Thread: Thread shall emit signals with "complex" argument

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1
    Join Date
    Feb 2010
    Posts
    52
    Thanks
    6
    Thanked 2 Times in 2 Posts

    Default Re: Thread shall emit signals with "complex" argument


  2. #2
    Join Date
    Jul 2009
    Posts
    139
    Thanks
    13
    Thanked 59 Times in 52 Posts
    Qt products
    Qt4
    Platforms
    Unix/X11

    Default Re: Thread shall emit signals with "complex" argument

    Docs say:
    To use the type T in queued signal and slot connections, qRegisterMetaType<T>() must be called before the first connection is established.
    Note that connections across threads are queued by default.

  3. The following user says thank you to numbat for this useful post:

    Boron (17th June 2010)

  4. #3
    Join Date
    Mar 2007
    Location
    Germany
    Posts
    229
    Thanks
    2
    Thanked 29 Times in 28 Posts
    Qt products
    Qt4
    Platforms
    Windows

    Default Re: Thread shall emit signals with "complex" argument

    Thanks a lot. numbats' post helped.

    Declaring a new metatype right after the class definition in the header file:
    Qt Code:
    1. Q_DECLARE_METATYPE(MyTableWidgetRow)
    To copy to clipboard, switch view to plain text mode 
    and a
    Qt Code:
    1. qRegisterMetaType<MyTableWidgetRow>();
    To copy to clipboard, switch view to plain text mode 
    right before the first usage in a connection did it.

  5. #4
    Join Date
    Apr 2010
    Location
    Rostov-na-Donu, Russia
    Posts
    153
    Thanks
    2
    Thanked 26 Times in 23 Posts
    Qt products
    Qt4
    Platforms
    Windows

    Default Re: Thread shall emit signals with "complex" argument

    For the future: look in "output" window of your debugger, when you run your application. In your case it had a string:
    "use qRegisterMetaType to send "MyTableWidgetRow" in signals/slots"
    or something like this

Similar Threads

  1. Replies: 7
    Last Post: 8th November 2012, 11:26
  2. Does "emit" in the calling thread mean execution?
    By nomadoro in forum Qt Programming
    Replies: 3
    Last Post: 23rd September 2009, 11:16
  3. Error "QString::arg: Argument missing"
    By Lawand in forum Qt Programming
    Replies: 3
    Last Post: 18th February 2009, 20:26
  4. "emit" keyword optional when calling signals?
    By will49 in forum Qt Programming
    Replies: 1
    Last Post: 21st November 2008, 01:13
  5. Signal defined in "a.h" can not emit in "b.cpp"
    By Shawn in forum Qt Programming
    Replies: 9
    Last Post: 21st May 2007, 16:55

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Qt is a trademark of The Qt Company.