pyqt4:在线程Qthread中使用定时器Qtimer

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()")) #触发定时器信号 ......

 

转载于:https://www.cnblogs.com/leomo/p/pyqt4.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值