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网络编程之文件下载实例分析

本文实例讲述了python网络编程之文件下载实现方法。分享给大家供大家参考。具体如下: 真是越看越喜欢python啊,想要了解它提供的http和ftp下载功能,原来是如此的简单。 1、相...

Python基于Pymssql模块实现连接SQL Server数据库的方法详解

Python基于Pymssql模块实现连接SQL Server数据库的方法详解

本文实例讲述了Python基于Pymssql模块实现连接SQL Server数据库的方法。分享给大家供大家参考,具体如下: 数据库版本:SQL Server 2012。 按照Python...

Python cookbook(数据结构与算法)实现查找两个字典相同点的方法

Python cookbook(数据结构与算法)实现查找两个字典相同点的方法

本文实例讲述了Python实现查找两个字典相同点的方法。分享给大家供大家参考,具体如下: 问题:寻找两个字典中间相同的地方(相同的键、相同的值等) 解决方案:通过keys()或者item...

Python+OpenCV+图片旋转并用原底色填充新四角的例子

我就废话不多说了,直接上代码吧! import cv2 from math import fabs, sin, cos, radians import numpy as np fro...

python八皇后问题的解决方法

本文为大家分享了python八皇后问题的解决方法,供大家参考,具体内容如下 题目: 给定一个 N*N 正方形棋盘,在上面放置 N个棋子,又叫皇后,使每两个棋子都不在同一条横线上、竖线上...