GUI main 部分,主app类中的__init__初始化方法中添加

实例化线程

self.s2_thread=Worker2()

初始化一个定时器

        self.log_get=QtCore.QTimer()

将调用方法和信号绑定

QtCore.QObject.connect(self.s2_thread, QtCore.SIGNAL("get_log_start()"), self.qtimer_get_log)
       

定义触发开始的调用方法

 def qtimer_get_log(self):
        self.log_get.singleShot(30000,self.s2_thread.get_mem_error_logfile_content)
self.log_get.singleShot(90000,self.s2_thread.get_mem_right_logfile_content)
        self.log_get.start()

线程Qthread部分

在线程的run中根据需要的地方发起激活定时器的信号

class Worker2(QtCore.QThread):
def __init__(self, parent=None): QtCore.QThread.__init__(self, parent)   def get_mem_error_logfile_content(self):
        filename=host_list['app75']['autologfilename']
        with open(filename,'r') as f:
            self.log_30_sec=f.read()
            print '#'*30
    def get_mem_right_logfile_content(self):
        filename=host_list['app75']['autologfilename']
        with open(filename,'r') as f:
            self.log_90_sec=f.read()
            print '*'*30
def run(self):
......
self.emit(QtCore.SIGNAL("get_log_start()")) #触发定时器信号
......

pyqt4:在线程Qthread中使用定时器Qtimer的更多相关文章

  1. Java并发基础02. 传统线程技术中的定时器技术

    传统线程技术中有个定时器,定时器的类是Timer,我们使用定时器的目的就是给它安排任务,让它在指定的时间完成任务.所以先来看一下Timer类中的方法(主要看常用的TimerTask()方法): 前面两 ...

  2. 重点:怎样正确的使用QThread类(很多详细例子的对比,注意:QThread 中所有实现的函数是被创建它的线程来调用的,不是在线程中)good

    背景描述: 以前,继承 QThread 重新实现 run() 函数是使用 QThread唯一推荐的使用方法.这是相当直观和易于使用的.但是在工作线程中使用槽机制和Qt事件循环时,一些用户使用错了.Qt ...

  3. Qt中使用定时器(可使用QObject::timerEvent定时执行,QTimer::singleShot可只触发一次)

    在Qt中使用定时器有两种方法,一种是使用QObiect类的定时器:一种是使用QTimer类.定时器的精确性依赖于操作系统和硬件,大多数平台支持20ms的精确度 1.QObject类的定时器 QObje ...

  4. Qt线程(2) QThread中使用WorkObject

    一般继承QThread的WorkThread都会在重载的run()中创建临时的WorkObject,这样能确定这个WorkObject在该thread中使用 那如果这个WorkObject是个Sing ...

  5. 浅谈JavaScript中的定时器

    引言 使用setTimeout()和setInterval()创建的定时器可以实现很多有意思的功能.很多人认为定时器是一个单独的线程(之前我也是),但是JavaScript是运行在单线程环境中的,而定 ...

  6. C++控制台程序中使用定时器

    转自博客:http://www.cnblogs.com/phinecos/archive/2008/03/08/1096691.html 作者:洞庭散人 “我现在项目是一个控制台程序,用到的Win32 ...

  7. 在Android开发中,定时器一般有以下3种实现方法

    在Android开发中,定时器一般有以下3种实现方法: 原文地址http://www.360doc.com/content/12/0619/13/87000_219180978.shtml 一.采用H ...

  8. Qt线程—QThread的使用--run和movetoThread的用法

    Qt使用线程主要有两种方法: 方法一:继承QThread,重写run()的方法 QThread是一个非常便利的跨平台的对平台原生线程的抽象.启动一个线程是很简单的.让我们看一个简短的代码:生成一个在线 ...

  9. java web 项目中 简单定时器实现 Timer

    java web 项目中 简单定时器实现 Timer 标签: Java定时器 2016-01-14 17:28 7070人阅读 评论(0) 收藏 举报  分类: JAVA(24)  版权声明:本文为博 ...

随机推荐

  1. error the @annotation pointcut expression is only supported at Java 5 compliance

    今天碰到这个错误,在网上找了下,是因为aspectjweaver.jar用的是1.5.3 本地eclipse的jdk版本为1.7 下载高版本的aspectjweaver.jar会解决此问题 http: ...

  2. MySQL Workbench的使用教程 (初级入门版)

    MySQL Workbench 是 MySQL AB 最近释放的可视数据库设计工具.这个工具是设计 MySQL 数据库的专用工具. MySQL Workbench 拥有很多的功能和特性:这篇由Djon ...

  3. c语言调用函数打印一维数组-2-指针

    方法一(规范): #include <stdio.h> #include <math.h> #include <stdlib.h> //函数预声明 ], int m ...

  4. java语法基本知识2

    对象的引用相当于C中的指针.对象存在于堆中,引用存在于栈中.引用在函数,可以称作局部变量.

  5. 用ul 来制作导航栏的几个要点

    1 ul 1)list-style:none; 3)设置宽度 2)清除浮动的影响,使高度自适应 2 li 1)向左浮动 2)设置margin和padding都为0 3 a 1) dsiplay :bl ...

  6. oracle数据类型

    本文转自:http://blog.csdn.net/defonds/article/details/4302695 谢谢原文作者 有道是,磨刀不误砍柴工.多了解一些底层的东西,对于Oracle开发.维 ...

  7. 用docker toolBox 搭建 nginx + flask + redis 环境

    本篇博客,主要是了解一下docker-compose的使用,docker-compose是官方给出的同时部署多个容器的解决方案:当你需要多个容器同时运行作为你的解决方案时:比如构建一个网站,需要php ...

  8. 4 多表代替密码之Hill 密码 2实现

    该解密方法的KEY 不是一个数或者一段字符串,而是一个矩阵, 比如有个3*3的KEY: 那么如果我们要加密一个长度为N的字符串, 那么把N除以3,分成M个3个字母组成的小段, 对每个小段尽心加密: 1 ...

  9. $("").click与onclick的区别

    onclick是绑定事件,click本身是方法作用是触发onclick事件,只要执行了元素的click()方法,下面示例 Html代码 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 ...

  10. Linux中vim的简单配置

    本文主要分享Linux中vim的简单配置 ★配置文件的位置     在目录/etc.下面,有个名为vimrc的文件,这就是系统中公共的vim配置文件,对所有用户都开放.而在每个用户的主目录下,都可以自 ...