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

Problem with QThread..

Scheduled Pinned Locked Moved General and Desktop
14 Posts 8 Posters 9.1k 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.
  • V Offline
    V Offline
    vcsala
    wrote on last edited by
    #2

    Can you please use '@' tags to make the code more readable?

    1 Reply Last reply
    0
    • V Offline
      V Offline
      vcsala
      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
        • S Offline
          S Offline
          Smar
          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
            • E Offline
              E Offline
              endla.ravi
              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
                • W Offline
                  W Offline
                  Wolf P.
                  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
                  • R Offline
                    R Offline
                    rugginoso
                    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
                      • R Offline
                        R Offline
                        rugginoso
                        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
                        • W Offline
                          W Offline
                          Wolf P.
                          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
                          • R Offline
                            R Offline
                            rugginoso
                            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 Extensions
                            • Unsolved