浏览 9190 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (2) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2009-12-02
最后修改:2009-12-10
直接上代码:
from __future__ import division from Tkinter import Tk, Entry, Button, Label, mainloop from tkFont import Font def pp(ev=None): foodl = '' try: foodl = eval( text.get()) except : pass if isinstance(foodl, (int,float,long)): pass else: foodl = 'Error..' label.config(text=foodl) #主窗口 top = Tk() top.title('compute') ft = Font(family = ('Verdana'), size = 8 ) #字体 #注册组件 text = Entry(top, font= ft) button = Button(top, text='计算(注意先后运算)', command=pp) label = Label(text='运算符: + - * / % **', font=ft) Enter = lambda x: x.keycode == 13 and pp() Key = lambda x: label.config(text='运算符: + - * / % **') text.bind('<Key>', Enter)#回车事件 text.focus() #获得焦点 # text.bind('<Button-1>', Key) text.pack() button.pack() label.pack() mainloop()
就这么多了, 有什么更好的解决方案,欢迎评论!
附件有截图和用PyInstaller打包好的exe文件 图片不能全部显示, 点击查看就可以了
源码已经上传... 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2009-12-03
下载下来看看 有源码吗
|
|
返回顶楼 | |
发表时间:2009-12-04
linwenbin 写道 下载下来看看 有源码吗 源码已经全部贴出来了!! 我传一个吧... |
|
返回顶楼 | |
发表时间:2009-12-04
另外我不知道,Tk窗口居中的方法..
如果有知道,请告知!! |
|
返回顶楼 | |
发表时间:2009-12-07
进入还可以这么看,我还以为楼主去自己计算里面的括号、加减乘除呢。。。
C:\Documents and Settings\flyingzl>python Python 2.6.2 (r262:71605, Apr 14 2009, 22:40:02) [MSC v.1500 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> s='(23+2)*3-(1*4)' >>> eval(s) 71 >>> |
|
返回顶楼 | |
发表时间:2009-12-07
“注意先后运算”,太雷了
|
|
返回顶楼 | |
发表时间:2009-12-08
高级语言就是好
一个eval解决了很多事情 |
|
返回顶楼 | |
发表时间:2009-12-08
用eval比较简单,适合在mm面前显显,但是不适合自我提升,直接用逆波兰,不知道python里有没有什么LL(1)的文法生成框架
|
|
返回顶楼 | |