Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. Problem with QThread..
Qt 6.12 LTS is out! See what's new in the release blog

Problem with QThread..

Scheduled Pinned Locked Moved General and Desktop
14 Posts 8 Posters 11.2k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • ? Offline
    ? Offline
    A Former User
    wrote on last edited by
    #3

    I am not sure you need threads, you can call processEvents from your infinite loop, which makes your GUI items responsive.

    1 Reply Last reply
    0
    • D Offline
      D Offline
      DenisKormalev
      wrote on last edited by
      #4

      Please use @ tags for code. I edited your post, but in further posts please use it by yourself.

      I don't see any usage of your MyThread class. And it should be inherited from QThread if you want to use threading.

      1 Reply Last reply
      0
      • ? Offline
        ? Offline
        A Former User
        wrote on last edited by
        #5

        Usually (mis)using threads causes gui going unresponsive...

        Qt already have event loop, using own events and/or signal/slot system.

        http://doc.qt.nokia.com/latest/signalsandslots.html
        http://doc.qt.nokia.com/latest/eventsandfilters.html

        1 Reply Last reply
        0
        • G Offline
          G Offline
          giesbert
          wrote on last edited by
          #6

          endla.ravi what do you want to do in your infinite loop? what is it needed or? Is it background processing (could be done in a thread) or shall it make event processing (is already done by return a.exec();)?

          Please specify your needs a bit more.

          Nokia Certified Qt Specialist.
          Programming Is Like Sex: One mistake and you have to support it for the rest of your life. (Michael Sinz)

          1 Reply Last reply
          0
          • ? Offline
            ? Offline
            A Former User
            wrote on last edited by
            #7

            @above,

            I am actually coding for a messenger

            and my client should always be in listen mode,it should be listening for messages from other clients.
            But when the client i listening for messages,the client become crashes after some time.

            How could i handle this?

            1 Reply Last reply
            0
            • G Offline
              G Offline
              giesbert
              wrote on last edited by
              #8

              You can look at the examples: "here":http://doc.qt.nokia.com/4.7/network-network-chat.html

              Nokia Certified Qt Specialist.
              Programming Is Like Sex: One mistake and you have to support it for the rest of your life. (Michael Sinz)

              1 Reply Last reply
              0
              • ? Offline
                ? Offline
                A Former User
                wrote on last edited by
                #9

                You have to subclass MyThread from QThread then define in its run method what you want to do in the background. Did you read the "basic thread example":http://doc.qt.nokia.com/4.7/qthread.html#details ?

                1 Reply Last reply
                0
                • ? Offline
                  ? Offline
                  A Former User
                  wrote on last edited by
                  #10

                  Maybe in your case it's better to use the QThread::run() default implementation that runs a local (for thread) event loop.
                  You simply have to create your QWidget and your QThread, than use QObject::moveToThread() method and call the QThread::start() method.

                  References:
                  http://labs.qt.nokia.com/2010/06/17/youre-doing-it-wrong/
                  http://doc.qt.nokia.com/4.7/qthread.html#start
                  http://doc.qt.nokia.com/4.7/qobject.html#moveToThread

                  1 Reply Last reply
                  0
                  • D Offline
                    D Offline
                    dangelog
                    wrote on last edited by
                    #11

                    [quote]and my client should always be in listen mode,it should be listening for messages from other clients.[/quote]

                    Please read my article here: http://developer.qt.nokia.com/wiki/ThreadsEventsQObjects . This seems to be the another case where threads are absolutely not needed (and indeed they just make your life a lot harder).

                    Software Engineer
                    KDAB (UK) Ltd., a KDAB Group company

                    1 Reply Last reply
                    0
                    • ? Offline
                      ? Offline
                      A Former User
                      wrote on last edited by
                      #12

                      [quote author="peppe" date="1292837082"]
                      Please read my article here: http://developer.qt.nokia.com/wiki/ThreadsEventsQObjects . This seems to be the another case where threads are absolutely not needed (and indeed they just make your life a lot harder).[/quote]

                      Really good article :D

                      1 Reply Last reply
                      0
                      • ? Offline
                        ? Offline
                        A Former User
                        wrote on last edited by
                        #13

                        [quote author="Il Rugginoso" date="1292836477"] http://labs.qt.nokia.com/2010/06/17/youre-doing-it-wrong/[/quote] Thanks for the tipp! I didn't know the concepts behind the QThread class...

                        1 Reply Last reply
                        0
                        • ? Offline
                          ? Offline
                          A Former User
                          wrote on last edited by
                          #14

                          [quote author="Wolf P." date="1292842687"][quote author="Il Rugginoso" date="1292836477"] http://labs.qt.nokia.com/2010/06/17/youre-doing-it-wrong/[/quote] Thanks for the tipp! I didn't know the concepts behind the QThread class...
                          [/quote]

                          You're welcome :D

                          1 Reply Last reply
                          0

                          • Login

                          • Login or register to search.
                          • First post
                            Last post
                          0
                          • Categories
                          • Recent
                          • Tags
                          • Popular
                          • Users
                          • Groups
                          • Search
                          • Get Qt
                          • Unsolved