zoukankan      html  css  js  c++  java
  • a demo for how to use QThread

    /*******************************************************************
     *                 a demo for how to use QThread  
     * 声明:
     *     这是一个简单的QThread使用模板,对于应付简单的程序来说,
     * 还是足够了。
     *
     *                           2015-9-12 阴 深圳 南山平山村 曾剑锋
     ******************************************************************/
    cat thread.h
        #ifndef THREAD_H
        #define THREAD_H
        
        #include <QThread>
        
        class Thread : public QThread
        {
            Q_OBJECT
        public:
            explicit Thread(QObject *parent = 0);
            
        signals:
            void msg(QString str);
        public slots:
            void run();
            void stop();
        
        private:
            bool running;
        };
        
        #endif // THREAD_H
    
    
    cat thread.c
        #include "thread.h"
        
        Thread::Thread(QObject *parent) :
            QThread(parent)
        {
            running = true;
        }
        
        void Thread::run()
        {
            int nbytes;
            int len;
            struct can_frame frame;
            struct sockaddr_can addr;
            char buf[10];
        
            while(running)
            {
                QThread::msleep(100);
                /**
                  * this was very important sametime for receive data
                  */
                if (running) {
                   emit msg(QString(buf));
                }
            }
        }
        
        void Thread::stop()
        {
            running = false;
        }
        
    cat mainwindow.c
        ......
        /**
          * how to stop a Qt thread
          */
        if ( thread != NULL ) {
            thread->stop();
            thread->wait();
            thread->deleteLater();
        }
        ......
  • 相关阅读:
    java位运算
    java笔试题(面试题)系列之一
    Java数据类型转换总结
    ++a和a++
    Java IO
    Java 并发
    Java位运算及补码存储
    Redis 5.0.0安装部署(伪集群版)
    Redis 安装(单机版)
    Dubbo源码分析系列之【服务暴露】
  • 原文地址:https://www.cnblogs.com/zengjfgit/p/4803004.html
Copyright © 2011-2022 走看看