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. Linux学习 : 自己写bootloader

    一.bootloader 目标:启动内核 基本功能: ①初始化硬件:关看门狗.设置时钟.设置SDRAM.初始化NAND FLASH ②image比较大需要重定位到SDRAM ②将内核从NAND FLA ...

  2. 初学者的python学习笔记2

    本来想是先把作业二搞定的,结果发现作业二用的字典,一脸懵逼,还是先搞定第二课吧.其实第二课和第一课内容差不多,据说是第一课的老师去美国了……不管怎么样先整理一下吧. ----------------- ...

  3. 重读高程3: c2-3 script元素

    1. 异步脚本一定会在页面的load事件前执行,但可能会在domC ontentLoaded事件触发之前或者之后执行.

  4. 去除 UINavigationController.navigationBar下方的横线

    self.navigationController.navigationBar.clipsToBounds=YES;

  5. 使用cocoapods碰到的难题

    -------------报错---------- 1. git clone error: RPC failed; result=56, HTTP code = 200 解决办法: git confi ...

  6. Multivariance Linear Regression练习

    %% 方法一:梯度下降法 x = load('E:\workstation\data\ex3x.dat'); y = load('E:\workstation\data\ex3y.dat'); x = ...

  7. 应用间共享数据方法(一)---sharepreferce

    SharedPreferences类,它是一个轻量级的存储类,特别适合用于保存软件配置参数. SharedPreferences保存数据,其背后是用xml文件存放数据,文件存放在/data/data/ ...

  8. FastFDS配置安装

    先说环境: win7旗舰版,配CRT连接虚拟机,虚拟机用的vmware Player,安装的CentOS6.4版本. 1.添加用户 useradd fastdfs 这步可以不做,后面的操作用root账 ...

  9. NPOI 数据导入导出

    { //数据导入 OpenFileDialog open = new OpenFileDialog(); open.Filter = "Excle文件|*.xls"; open.T ...

  10. iOS内置音频

    Predefined soundsThere are some predefined system sounds, for the system sound ID in the range 1000 ...