鱼C论坛

 找回密码
 立即注册
查看: 1804|回复: 2

[已解决]急,关于thinter问题求助

[复制链接]
发表于 2018-4-3 14:18:20 | 显示全部楼层 |阅读模式
5鱼币
本帖最后由 1623422960 于 2018-4-3 14:22 编辑

小白求解几个问题,求鱼油帮忙解答下,感谢
a3f551dde886dd546ad1459c79ca58d.png
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()

最佳答案
2018-4-3 14:18:21
  1. e2=Entry(frame,textvariable=v2,width=20,font=('Andalus',25),fg='#23238E',validate='key',\
  2.       validatecommand=(testCMD,'%P'), state="readonly").grid(row=0,column=3,padx=10)
复制代码

  1. def show():
  2.     v2.set("")
复制代码

最佳答案

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-4-3 14:18:21 | 显示全部楼层    本楼为最佳答案   
  1. e2=Entry(frame,textvariable=v2,width=20,font=('Andalus',25),fg='#23238E',validate='key',\
  2.       validatecommand=(testCMD,'%P'), state="readonly").grid(row=0,column=3,padx=10)
复制代码

  1. def show():
  2.     v2.set("")
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2018-4-3 18:02:41 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-3-10 04:14

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表