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..
Forum Updated to NodeBB v4.3 + New Features

Problem with QThread..

Scheduled Pinned Locked Moved General and Desktop
14 Posts 8 Posters 7.5k 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