pythonUI学习实践(1)制作自己的闹钟
2017-05-19 20:17
435 查看
看到网上的一个文章, 回头实践一下, 重新修改一下
先做出一个实时显示时间的把
完整版的需要修改
# -*- coding: utf-8 -*-
'''一个时钟程序'''
def createAlarm(master):
''' 创建时间选择组件,包括小时、分钟、秒
系统默认的时间设置为当前的事件'''
import time
now = time.localtime(time.time())
lfAlarm = LabelFrame(text = 'Add you alarm')
master.vHour = StringVar()
master.vHour.set(now[3])
Label(lfAlarm,text = 'Hour:').grid(row = 0,column = 0)
master.omHour = apply(OptionMenu,(lfAlarm,master.vHour) + tuple(range(0,24)))
master.omHour.grid(row = 0,column = 1)
master.vMinute = StringVar()
master.vMinute.set(now[4])
Label(lfAlarm,text = 'Minute:').grid(row = 0,column = 2)
master.omMinute = apply(OptionMenu,(lfAlarm,master.vMinute) + tuple(range(0,60)))
master.omMinute.grid(row = 0,column = 3)
master.vSecond = StringVar()
master.vSecond.set(now[5])
Label(lfAlarm,text = 'Second:').grid(row = 0,column = 4)
master.omSecond = apply(OptionMenu,(lfAlarm,master.vSecond) + tuple(range(0,60)))
master.omSecond.grid(row = 0,column = 5)
lfAlarm.grid(row = 1,column =0,columnspan = 6)
def addAlarm(master):
'''将当前的设置添加为一个提醒
设置最后一个为激活态
选中最后一个'''
master.lbAlarm.insert(END,master.vHour.get() + ':' + master.vMinute.get() + ':' + master.vSecond.get())
master.lbAlarm.selection_clear(0,END)
master.lbAlarm.selection_set(END)
master.lbAlarm.activate(END)
def deleteAlarm(master):
'''删除一个提醒'''
master.lbAlarm.delete(ACTIVE)
if master.lbAlarm.size() > 0:
master.lbAlarm.selection_set(ACTIVE)
def modifyAlarm(master):
'''修改提醒,
删除原来的提醒,添加一个新的提醒,索引使用原来'''
t = ma
4000
ster.vHour.get() + ':' + master.vMinute.get() + ':' + master.vSecond.get()
n = master.lbAlarm.curselection()
master.lbAlarm.delete(n)
master.lbAlarm.insert(n,t)
master.lbAlarm.selection_set(n)
def createAlarmList(master):
'''创建提醒列表,目前所有可用的提醒均显示在这里'''
master.lbAlarm = Listbox(master)
master.lbAlarm.grid(row = 3,column = 0,
columnspan = 4,rowspan = 3,
stick = S + N + E + W)
def createOperation(master):
'''创建操作列表,对提醒列表中的提醒进行添加、修改或删除'''
Button(master,text = 'Add alarm',
command = lambda arg = master:addAlarm(arg)
).grid(
row = 3,column = 4,
columnspan = 2,
stick = S + N + E + W)
Button(master,text = 'Modify alarm',
command = lambda arg = master:modifyAlarm(arg)
).grid(
row = 4,column = 4,
columnspan = 2,
stick = S + N + E + W)
Button(master,text = 'Delete alarm',
command = lambda arg = master:deleteAlarm(arg)
).grid(row = 5,column = 4,
columnspan = 2,
stick = S + N + E + W)
def showCurrentTime(master):
'''显示当前时间'''
lbCurrentTime = Label(master,text = 'Current Time:')
lbCurrentTime.grid(row = 0,column = 0,
columnspan = 2,
stick = W)
master.vCurrentTime = StringVarss()
master.etCurrentTime = Entry(master,textvariable = master.vCurrentTime,state = 'readonly')
master.etCurrentTime.grid(row = 0,column = 2,
columnspan = 4,
stick = S + N + E + W)
def updateTime(master):
'''时钟回调函数,用于更新当前时间;
判断是否满足提醒条件'''
import time
now = time.localtime(time.time())
t = '%d:%d:%d' % (now[3],now[4],now[5])
master.vCurrentTime.set(t)
for item in master.lbAlarm.get(0,END):
if str(item) == t:
# 如果当前时间与提醒列表中的一致,打印
print 'you have a alarm',item
root.after(100,updateTime,master)
from Tkinter import *
root = Tk()
showCurrentTime(root)
createAlarm(root)
createAlarmList(root)
createOperation(root)
# 将检测周期设置为100ms
root.after(100,updateTime,root)
root.mainloop()
先做出一个实时显示时间的把
# -*- coding: utf-8 -*- from Tkinter import * def showCurrentTime(master): '''显示当前时间''' lbCurrentTime = Label(master,text = 'Current Time:') lbCurrentTime.grid(row = 0,column = 0, columnspan = 2, stick = W) master.vCurrentTime = StringVar() master.etCurrentTime = Entry(master,textvariable = master.vCurrentTime,state = 'readonly') master.etCurrentTime.grid(row = 0,column = 2, columnspan = 4, stick = S + N + E + W) def updateTime(master): '''时钟回调函数,用于更新当前时间; ''' import time now = time.localtime(time.time()) t = '%d:%d:%d' % (now[3],now[4],now[5]) master.vCurrentTime.set(t) root.after(10,updateTime,master) root = Tk() showCurrentTime(root) root.after(10,updateTime,root) root.mainloop()
完整版的需要修改
# -*- coding: utf-8 -*-
'''一个时钟程序'''
def createAlarm(master):
''' 创建时间选择组件,包括小时、分钟、秒
系统默认的时间设置为当前的事件'''
import time
now = time.localtime(time.time())
lfAlarm = LabelFrame(text = 'Add you alarm')
master.vHour = StringVar()
master.vHour.set(now[3])
Label(lfAlarm,text = 'Hour:').grid(row = 0,column = 0)
master.omHour = apply(OptionMenu,(lfAlarm,master.vHour) + tuple(range(0,24)))
master.omHour.grid(row = 0,column = 1)
master.vMinute = StringVar()
master.vMinute.set(now[4])
Label(lfAlarm,text = 'Minute:').grid(row = 0,column = 2)
master.omMinute = apply(OptionMenu,(lfAlarm,master.vMinute) + tuple(range(0,60)))
master.omMinute.grid(row = 0,column = 3)
master.vSecond = StringVar()
master.vSecond.set(now[5])
Label(lfAlarm,text = 'Second:').grid(row = 0,column = 4)
master.omSecond = apply(OptionMenu,(lfAlarm,master.vSecond) + tuple(range(0,60)))
master.omSecond.grid(row = 0,column = 5)
lfAlarm.grid(row = 1,column =0,columnspan = 6)
def addAlarm(master):
'''将当前的设置添加为一个提醒
设置最后一个为激活态
选中最后一个'''
master.lbAlarm.insert(END,master.vHour.get() + ':' + master.vMinute.get() + ':' + master.vSecond.get())
master.lbAlarm.selection_clear(0,END)
master.lbAlarm.selection_set(END)
master.lbAlarm.activate(END)
def deleteAlarm(master):
'''删除一个提醒'''
master.lbAlarm.delete(ACTIVE)
if master.lbAlarm.size() > 0:
master.lbAlarm.selection_set(ACTIVE)
def modifyAlarm(master):
'''修改提醒,
删除原来的提醒,添加一个新的提醒,索引使用原来'''
t = ma
4000
ster.vHour.get() + ':' + master.vMinute.get() + ':' + master.vSecond.get()
n = master.lbAlarm.curselection()
master.lbAlarm.delete(n)
master.lbAlarm.insert(n,t)
master.lbAlarm.selection_set(n)
def createAlarmList(master):
'''创建提醒列表,目前所有可用的提醒均显示在这里'''
master.lbAlarm = Listbox(master)
master.lbAlarm.grid(row = 3,column = 0,
columnspan = 4,rowspan = 3,
stick = S + N + E + W)
def createOperation(master):
'''创建操作列表,对提醒列表中的提醒进行添加、修改或删除'''
Button(master,text = 'Add alarm',
command = lambda arg = master:addAlarm(arg)
).grid(
row = 3,column = 4,
columnspan = 2,
stick = S + N + E + W)
Button(master,text = 'Modify alarm',
command = lambda arg = master:modifyAlarm(arg)
).grid(
row = 4,column = 4,
columnspan = 2,
stick = S + N + E + W)
Button(master,text = 'Delete alarm',
command = lambda arg = master:deleteAlarm(arg)
).grid(row = 5,column = 4,
columnspan = 2,
stick = S + N + E + W)
def showCurrentTime(master):
'''显示当前时间'''
lbCurrentTime = Label(master,text = 'Current Time:')
lbCurrentTime.grid(row = 0,column = 0,
columnspan = 2,
stick = W)
master.vCurrentTime = StringVarss()
master.etCurrentTime = Entry(master,textvariable = master.vCurrentTime,state = 'readonly')
master.etCurrentTime.grid(row = 0,column = 2,
columnspan = 4,
stick = S + N + E + W)
def updateTime(master):
'''时钟回调函数,用于更新当前时间;
判断是否满足提醒条件'''
import time
now = time.localtime(time.time())
t = '%d:%d:%d' % (now[3],now[4],now[5])
master.vCurrentTime.set(t)
for item in master.lbAlarm.get(0,END):
if str(item) == t:
# 如果当前时间与提醒列表中的一致,打印
print 'you have a alarm',item
root.after(100,updateTime,master)
from Tkinter import *
root = Tk()
showCurrentTime(root)
createAlarm(root)
createAlarmList(root)
createOperation(root)
# 将检测周期设置为100ms
root.after(100,updateTime,root)
root.mainloop()
相关文章推荐
- python学习十二(自己制作模块并安装到系统、静态方法)
- caffe学习系列:制作自己的图片的leveldb(python,windows环境下)
- [自己动手写操作系统]的学习实践【第三章】
- Python 学习笔记(半ZZ半自己写)
- 自己制作个性闹钟(win32 SDK)
- [更新Github地址]python学习,自己写了个简单聊天工具mychat
- python开发_tkinter_窗口控件_自己制作的Python IDEL_博主推荐(二)
- 自己动手打造winpe-只完成了引导的制作和文件夹的构件-仅仅为了学习!
- 强迫自己学习(实践篇),以及关于写博客的几点建议
- java之jvm学习笔记六(实践写自己的安全管理器)
- java之jvm学习笔记五(实践写自己的类装载器)
- 【初学】UI控件学习笔记-UILable制作打字机特效(lable+array+timer+动态string)
- Jquery 插件学习实例1-插件制作说明与tableUI优化
- 持续集成实践:使用Visual Studio 2010 Coded UI Test 制作能自动安装/卸载UI应用的程序
- 持续集成实践:使用Visual Studio 2010 Coded UI Test 制作能自动安装/卸载UI应用的程序
- 我的php学习笔记(二十三)制作自己的PHP+MYSQL的类
- 《ExtJS 3详解与实践》阅读补充资料:用BoxComponent制作Logger UI
- iOS中控制器的实践和学习(1)-抛出UI问题
- Learn Python The Hard Way学习(45) - 自己做个游戏
- Python学习笔记--Tkinter制作GUI