wxpython类库之模拟时钟窗口

发布时间:2020-08-05编辑:脚本学堂
有关wxpython常用类库的用法,如何模拟一个简单的时钟效果,wx.lib模块中analogclock模拟时钟的例子,wxpython中文教程实例,需要的朋友参考下。

专题教程:wxpython中文教程

以下例子,展示一个简单的模拟时钟.
 

复制代码 代码示例:

#!/usr/bin/python
#coding=utf-8

#analogclock.py

import wx
from wx.lib import analogclock as ac

class MyFrame(wx.Frame):
    def __init__(self, parent, id, title):
        wx.Frame.__init__(self, parent, id, title)               
        clock = ac.AnalogClock(self, -1, wx.DefaultPosition)
        clock.SetClockStyle(ac.SHOW_HOURS_HAND|ac.SHOW_MINUTES_HAND
                            |ac.SHOW_HOURS_TICKS|ac.SHOW_MINUTES_TICKS
                            |ac.TICKS_CIRCLE)
        self.SetSize((400, 350))
             
     
class MyApp(wx.App):
    def OnInit(self):
        frame = MyFrame(None, -1, 'analogclock.py')
        frame.Show(True)
        frame.Center()
        return True
   
app = MyApp(0)
app.MainLoop()

一些时钟样式:
译者在wxPython 2.8.12.1 (gtk2-unicode)上发现,AnalogClock 类仅有此一种方法,并无原文中的 SetTickStyles() 方法. SetClockStyle() 方法:
 

SHOW_QUARTERS_TICKS
SHOW_HOURS_TICKS
SHOW_MINUTES_TICKS
SHOW_HOURS_HANDS
SHOW_MINUTES_HANDS
SHOW_SECONDS_HANDS
SHOW_SHADOWS
ROTATE_TICKS
OVERLAP_TICKS
TICKS_NONE
TICKS_SQUARE
TICKS_CIRCLE
TICKS_POLY
TICKS_DECIMAL
TICKS_ROMAN

如图:
wwxpython模拟时钟窗口