|
|
5鱼币
本帖最后由 1623422960 于 2018-4-3 14:22 编辑
小白求解几个问题,求鱼油帮忙解答下,感谢 :
1.AC按钮赋值了delete操作但是一直报错
2.Entry设置了只能输入数字,怎么变成也可以输入小数呢?
3.怎样让第二个Entry框,不可以修改但能复制(state=DISABLED框变灰色没法复制了)
源代码如下:
import sys
import math
from tkinter import *
root=Tk()
root.title('宁广建的科学计算器')
frame=Frame(root)
frame1=Frame(root)
frame.pack(padx=10,pady=10)
frame1.pack(padx=10,pady=10)
v1=StringVar()
v2=StringVar()
def test(content):
if content.isdigit()or(content==''):
return True
else:
return False
testCMD=root.register(test)
e1=Entry(frame,textvariable=v1,width=10,font=('Andalus',25),fg='#23238E',validate='key',\
validatecommand=(testCMD,'%P')).grid(row=0,column=0,padx=10)
e2=Entry(frame,textvariable=v2,width=20,font=('Andalus',25),fg='#23238E',validate='key',\
validatecommand=(testCMD,'%P')).grid(row=0,column=3,padx=10)
def sin1():
result=math.sin(float(v1.get()))
v2.set(result)
def cos1():
result=math.cos(float(v1.get()))
v2.set(result)
def tan1():
result=math.tan(float(v1.get()))
v2.set(result)
def log1():
result=math.log(float(v1.get()))
v2.set(result)
def pow1():
result=math.pow(float(v1.get()))
v2.set(result)
def acos1():
result=math.acos(float(v1.get()))
v2.set(result)
def asin1():
result=math.asin(float(v1.get()))
v2.set(result)
def atan1():
result=math.atan(float(v1.get()))
v2.set(result)
def exp1():
result=math.exp(float(v1.get()))
v2.set(result)
def sqrt1():
result=math.sqrt(float(v1.get()))
v2.set(result)
def exit1():
sys.exit(0)
def show():
e2.delete(0,END)
Button(frame1,text='sin',font=('Andalus',13),command=sin1).grid(row=1,column=0,padx=15,pady=10)
Button(frame1,text='cos',font=('Andalus',13),command=cos1).grid(row=1,column=1,padx=15,pady=10)
Button(frame1,text='tan',font=('Andalus',13),command=tan1).grid(row=1,column=2,padx=15,pady=10)
Button(frame1,text='log',font=('Andalus',13),command=log1).grid(row=1,column=3,padx=15,pady=10)
Button(frame1,text='pow',font=('Andalus',13),command=pow1).grid(row=1,column=4,padx=15,pady=10)
Button(frame1,text='acos',font=('Andalus',13),command=acos1).grid(row=2,column=0,padx=15,pady=10)
Button(frame1,text='asin',font=('Andalus',13),command=asin1).grid(row=2,column=1,padx=15,pady=10)
Button(frame1,text='atan',font=('Andalus',13),command=atan1).grid(row=2,column=2,padx=15,pady=10)
Button(frame1,text='exp',font=('Andalus',13),command=exp1).grid(row=2,column=3,padx=15,pady=10)
Button(frame1,text='sqrt',font=('Andalus',13),command=sqrt1).grid(row=2,column=4,padx=15,pady=10)
Button(frame1,text='Quit',font=('Impact',18),fg='red',command=exit1).grid(row=3,column=4,padx=15,pady=10)
Button(frame1,text='AC',font=('Impact',18),fg='orange',command=show).grid(row=3,column=0,padx=15,pady=10)
mainloop()
- e2=Entry(frame,textvariable=v2,width=20,font=('Andalus',25),fg='#23238E',validate='key',\
- validatecommand=(testCMD,'%P'), state="readonly").grid(row=0,column=3,padx=10)
复制代码
|
|