Python图形界面编程---Tkinter模块使用
来源:互联网 发布:手机网络短信怎么发 编辑:程序博客网 时间:2024/05/16 12:04
偏函数在GUI应用举例
具体内容可以参考Python函数式编程——偏函数(PFA)
偏函数允许预存
函数变量并冻结
这些预定参数,运行所需的变量再解冻
,由这些最终的参数去调用函数
# -*- coding: UTF-8 -*-from functools import partial as ptofrom Tkinter import Tk, Button, Xfrom tkMessageBox import showinfo, showwarning,showerror #导入消息模块WARN = 'warn'CRIT = 'crit'REGU = 'regu'#字典SIGNS = { 'do not enter': CRIT, 'railroad crossing':WARN, '55\nspeed limit':REGU, 'merging traffic':WARN, 'one way':REGU,}#匿名函数 函数式编程 给3种类型的提示button传参critCB = lambda: showerror('Error', 'Error Button Pressed!')warnCB = lambda: showwarning('Warning', 'Warning Button Pressed!')infoCB = lambda: showinfo('Info', 'Info Button Pressond!')#顶层界面top = Tk()top.title('Road Signs')Button(top, text='QUIT', command=top.quit, bg='red', fg='white').pack()#偏函数MyButton = pto(Button, top)#模板化按钮和top窗口为mybuttonCritButton = pto(MyButton, command=critCB, bg='white', fg='red')#再次模板化MyButtonWarnButton = pto(MyButton, command=warnCB, bg='goldenrod1')ReguButton = pto(MyButton, command=infoCB, bg='white')for eachSign in SIGNS:#字典循环 signType = SIGNS[eachSign]#取出值 #创建表达式,相当于 cmd = '%sButton(text=%r%s).pack(fill=X, expand=True)' % (signType.title(), eachSign, '.upper()' if signType == CRIT else '.title()') print cmd eval(cmd)#eval函数将字符串当成有效Python表达式来求值,并返回计算结果top.mainloop()
创建的5个cmd字符串:
CritButton(text='do not enter'.upper()).pack(fill=X, expand=True)WarnButton(text='railroad crossing'.title()).pack(fill=X, expand=True)ReguButton(text='55\nspeed limit'.title()).pack(fill=X, expand=True)ReguButton(text='one way'.title()).pack(fill=X, expand=True)WarnButton(text='merging traffic'.title()).pack(fill=X, expand=True)
其他更高级的控件
比如下拉列表,复选框等等具体看文档开发即可。
0 0
- Python图形界面编程---Tkinter模块使用
- Python图形界面编程---Tkinter模块基础
- python图形界面GUI编程之tkinter布局
- python tkinter写图形界面
- Python 图形界面 GUI Tkinter 实例
- Python 图形界面 Tkinter 实现倒计时
- Python 图形界面Tkinter Label 详解
- python GUI Tkinter 模块
- python可视化模块tkinter
- 使用Tkinter做python的GUI编程
- Python GUI编程 TKinter 的基本使用
- python GUI编程(Tkinter)简单使用
- 【编程语言】Python Tkinter模块安装 CentOS 7 下
- 【转载】python的GUI实现模块之Tkinter 编程入门
- Python 定时自动关机附带Tkinter图形界面GUI
- Python 基于Tkinter的GUI图形界面学习
- 解决Ubuntu python 使用turtle显示没有Tkinter模块问题
- Python GUI编程(Tkinter)
- xcode7.3自动补全失效解决办法
- 一个月手机APP和网站前后端开发
- 关于 oracle record is locked by another user 问题解决办法
- 关于技术的学习,一点自己的感想
- 94.大于屏幕宽度的TableView上下拉刷新实现 大于屏幕宽度MJRefresh怎么实现刷新控件显示居中
- Python图形界面编程---Tkinter模块使用
- HashMap与ConcurrentHashMap的区别
- 贪吃蛇(版本1.0还有bug,但是基本能使了)
- 设置Tomcat的UTF-8编码
- 自定义selectorDrawable
- 只用TextView实现知乎主页底部Tab
- Gson使用总结
- 死锁问题分析(个人认为重点讲到了gap间隙锁,解决了我一些不明报死锁的问题)
- SQLServer 大容量导入导致死锁和系统变慢问题