大家好,我需要知道如何在计算器中绑定我的键盘号码
https://drive.google.com/file/d/1AKP8hrDV_IOM0kafQwBEkcR9thQdZ4Pp/view?usp=drivesdk
from tkinter import *
import time
import pyautogui
import keyboard
import python_weather
import requests,json
calc=Tk()
calc.geometry("450x470")
calc.maxsize(450,470)
calc.minsize(350,350)
calc.title("calculator with weather")
#var declaration
start=" "
text=StringVar()
#frame
f=Frame(calc,height=800,width=800,bd=8,bg="lightgreen")
f.pack(side=TOP)
f2=Frame(calc,height=800,width=800,bd=8,bg="lightblue")
f2.pack(side=TOP)
#time
localtime=time.asctime(time.localtime(time.time()))
name=Label(f,font=("algerian",15),fg="red",text="calculator")
name.grid(row=0,column=0)
time=Label(f,font=("algerian",10),fg="purple",text=localtime)
time.grid(row=1,column=0)
#function declaration
def btnclick(num):
global start
start=start+str(num)
text.set(start)
def btnclr():
global start
start=" "
text.set(start)
def btneq():
global start
val=str(eval(start))
text.set(val)
start=val
#i use slicing method in this function
def backspace():
global start
start=start[:-1]
text.set(start)
#button press by keyboard
def test(event):
global start
start=str(event)
text.set(start)
#entry
textbox=Entry(f2,font=("arial",15),fg="white",bd=20,textvariable=text,insertwidth=0.5,bg="steelblue",justify="left")
textbox.grid(columnspan=4)
#row work
#row1
btn1=Button(f2,font=("arial",12),fg="lightgreen",command=lambda: btnclick(1),bg="steelblue",padx=15,pady=10,bd=8,text=1)
btn1.grid(row=1,column=0)
btn2=Button(f2,font=("arial",12),fg="white",command=lambda: btnclick(2),bg="steelblue",padx=15,pady=10,bd=8,text=2)
btn2.grid(row=1,column=1)
btn3=Button(f2,font=("arial",12),fg="darkred",command=lambda: btnclick(3),bg="steelblue",padx=15,pady=10,bd=8,text=3)
btn3.grid(row=1,column=2)
bck=Button(f2,font=("arial",12),fg="black",command=lambda: backspace(),bg="steelblue",padx=12,pady=8,bd=6,text='<<')
bck.grid(row=1,column=3)
#row2
btn4=Button(f2,font=("arial",12),fg="lightgreen",command=lambda: btnclick(4),bg="steelblue",padx=15,pady=10,bd=8,text=4)
btn4.grid(row=2,column=0)
btn5=Button(f2,font=("arial",12),fg="white",command=lambda: btnclick(5),bg="steelblue",padx=15,pady=10,bd=8,text=5)
btn5.grid(row=2,column=1)
btn6=Button(f2,font=("arial",12),fg="darkred",command=lambda: btnclick(6),bg="steelblue",padx=15,pady=10,bd=8,text=6)
btn6.grid(row=2,column=2)
plus=Button(f2,font=("arial",12),fg="red",command=lambda: btnclick('+'),bg="steelblue",padx=15,pady=10,bd=8,text="+")
plus.grid(row=2,column=3)
#row3
btn7=Button(f2,font=("arial",12),fg="lightgreen",command=lambda: btnclick(7),bg="steelblue",padx=15,pady=10,bd=8,text=7)
btn7.grid(row=3,column=0)
btn8=Button(f2,font=("arial",12),fg="white",command=lambda: btnclick(8),bg="steelblue",padx=15,pady=10,bd=8,text=8)
btn8.grid(row=3,column=1)
btn9=Button(f2,font=("arial",12),fg="darkred",command=lambda: btnclick(9),bg="steelblue",padx=15,pady=10,bd=8,text=9)
btn9.grid(row=3,column=2)
minus=Button(f2,font=("arial",12),fg="red",command=lambda: btnclick('-'),bg="steelblue",padx=15,pady=10,bd=8,text="-")
minus.grid(row=3,column=3)
#row4
btnc=Button(f2,font=("arial",12),fg="lightgreen",command=lambda: btnclr(),bg="steelblue",padx=15,pady=10,bd=8,text="C")
btnc.grid(row=4,column=0)
btn0=Button(f2,font=("arial",12),fg="white",command=lambda: btnclick(0),bg="steelblue",padx=15,pady=10,bd=8,text=0)
btn0.grid(row=4,column=1)
divide=Button(f2,font=("arial",12),fg="orange",command=lambda: btnclick('/'),bg="steelblue",padx=15,pady=10,bd=8,text="/")
divide.grid(row=4,column=2)
multiply=Button(f2,font=("arial",12),fg="red",command=lambda: btnclick('*'),bg="steelblue",padx=15,pady=10,bd=8,text="*")
multiply.grid(row=4,column=3)
#extra button
dot=Button(f2,font=("arial",12),fg="lightgreen",command=lambda: btnclick('.'),bg="steelblue",padx=15,pady=10,bd=8,text=".")
dot.grid(row=5,column=0)
btnequal=Button(f2,font=("arial",12),fg="white",command=lambda: btneq(),bg="steelblue",padx=15,pady=10,bd=8,text="=")
btnequal.grid(row=5,column=1)
ob=Button(f2,font=("arial",12),fg="purple",command=lambda: btnclick('('),bg="steelblue",padx=15,pady=10,bd=8,text="(")
ob.grid(row=5,column=2)
cb=Button(f2,font=("arial",12),fg="red",command=lambda: btnclick(')'),bg="steelblue",padx=15,pady=10,bd=8,text=")")
cb.grid(row=5,column=3)
calc.bind("1",test)
calc.mainloop()
目前没有回答
相关问题 更多 >
编程相关推荐