wxPython定时器wx.Timer简单应用实例

yipeiwu_com6年前Python基础

本文实例讲述了wxPython定时器wx.Timer简单应用。分享给大家供大家参考。具体如下:

# -*- coding: utf-8 -*-  
######################################################## 
## 这是wxPython定时器wx.Timer的简单应用 
## testwxTimer1.pyw 
######################################################## 
import wx 
import time 
######################################################## 
class MyFrame1 ( wx.Frame ): 
  def __init__( self, parent ): 
    wx.Frame.__init__ ( self, parent, id = wx.ID_ANY, title = u"测试定时器的小程序", pos = wx.DefaultPosition, size = wx.Size( 483,155 ), style = wx.DEFAULT_FRAME_STYLE|wx.TAB_TRAVERSAL ) 
    self.SetSizeHintsSz( wx.DefaultSize, wx.DefaultSize ) 
    self.SetBackgroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_INACTIVECAPTIONTEXT ) ) 
    gSizer1 = wx.GridSizer( 0, 2, 0, 0 ) 
    self.m_btnStart = wx.Button( self, wx.ID_ANY, u"启动定时器", wx.DefaultPosition, wx.DefaultSize, 0 ) 
    gSizer1.Add( self.m_btnStart, 0, wx.ALL, 5 ) 
    self.m_btnStop = wx.Button( self, wx.ID_ANY, u"停止定时器", wx.DefaultPosition, wx.DefaultSize, 0 ) 
    gSizer1.Add( self.m_btnStop, 0, wx.ALL, 5 ) 
    self.SetSizer( gSizer1 ) 
    self.Layout() 
    self.m_statusBar1 = self.CreateStatusBar( 2, wx.ST_SIZEGRIP, wx.ID_ANY ) 
    self.Centre( wx.BOTH ) 
    # Connect Events 
    self.m_btnStart.Bind( wx.EVT_BUTTON, self.OnStart ) 
    self.m_btnStop.Bind( wx.EVT_BUTTON, self.OnStop ) 
    # 创建定时器 
    self.timer = wx.Timer(self)#创建定时器 
    self.Bind(wx.EVT_TIMER, self.OnTimer, self.timer)#绑定一个定时器事件 
  def __del__( self ): 
    pass 
  # Virtual event handlers, overide them in your derived class 
  def OnStart( self, event ): 
    self.timer.Start(1000)#设定时间间隔为1000毫秒,并启动定时器 
  def OnStop( self, event ): 
    self.timer.Stop() 
  def OnTimer(self, evt):#显示时间事件处理函数 
    t = time.localtime(time.time()) 
    StrYMDt = time.strftime("%Y-%B-%d", t) 
    self.SetStatusText(StrYMDt,0) #显示年月日 
    StrIMSt = time.strftime("%I:%M:%S", t) 
    self.SetStatusText(StrIMSt,1)#显示时间 
######################################################## 
## 以上界面代码使用wxFormBuilder自动创建 
######################################################## 
if __name__=='__main__': 
  app = wx.PySimpleApp() 
  frame = MyFrame1(None) 
  frame.Show() 
  app.MainLoop() 
######################################################## 

运行效果如下所示:

希望本文所述对大家的Python程序设计有所帮助。

相关文章

Python实现身份证号码解析

中国的居民身份证有18位。其中前17位是信息码,最后1位是校验码。每位信息码可以是0-9的数字,而校验码可以是0-9或X,其中X表示10。 身份证校验码算法: 设18位身份证号序列从左到...

Python读取txt某几列绘图的方法

晚上帮同学用Python脚本绘图,大概需求是读取一个txt文件的两列分别作为x和y的值,绘图即可,代码如下: #coding:utf-8 import numpy as np imp...

使用Python实现在Windows下安装Django

使用Python实现在Windows下安装Django

依赖 安装Python 安装git 安装Django 1.去Python官网下载Python3.6并配置好环境变量 Python下载地址:https://www.py...

python 排序算法总结及实例详解

python 排序算法总结及实例详解

总结了一下常见集中排序的算法 归并排序 归并排序也称合并排序,是分治法的典型应用。分治思想是将每个问题分解成个个小问题,将每个小问题解决,然后合并。 具体的归并排序就是,将一组无序数...

python 利用for循环 保存多个图像或者文件的实例

在实际应用中,会遇到保存多个文件或者图像的操作,利用for循环可以实现基本要求: for i in range(50): plt.savefig("%d.jpg"%(i+1))...