用tkinter button创建了6个数字键盘用来输入,如何实现用这6个button给左边的三个entry输入框输入数字?要求给其中一个输入框的时候其他两个输入框不输入。
import tkinter as tk
from tkinter import ttk
win = tk.Tk()
win.title('配方计算系统')
win.geometry('600x350+400+200')
x = tk.Label(win, text='请输入增减量:')
x.grid(row=0, column=0)
xx = tk.Entry(win).grid(row=0, column=1, columnspan=5)
zz = tk.Entry(win).grid(row=1, column=1, columnspan=5)
cc = tk.Entry(win).grid(row=2, column=1, columnspan=5)
aj1 = tk.Button(win, text='1', width=3, height=2, font=1)
aj1.grid(row=3, column=7, ipadx=5)
aj2 = tk.Button(win, text='2', width=3, height=2, font=1)
aj2.grid(row=3, column=8, ipadx=5)
aj3 = tk.Button(win, text='3', width=3, height=2, font=1)
aj3.grid(row=3, column=9, ipadx=5)
aj4 = tk.Button(win, text='4', width=3, height=2, font=1)
aj4.grid(row=4, column=7, ipadx=5)
aj5 = tk.Button(win, text='5', width=3, height=2, font=1)
aj5.grid(row=4, column=8, ipadx=5)
aj6 = tk.Button(win, text='6', width=3, height=2, font=1)
aj6.grid(row=4, column=9, ipadx=5)
win.mainloop()
弄好了 ,请采纳,不懂问我
import tkinter as tk
from tkinter import ttk
f=0
win = tk.Tk()
win.title('配方计算系统')
win.geometry('600x350+400+200')
x = tk.Label(win, text='请输入增减量:')
x.grid(row=0, column=0)
def focus1(event):
global f
f=1
def focus2(event):
global f
f=2
def focus3(event):
global f
f=3
xx = tk.Entry(win)
xx.bind('<FocusIn>', focus1)
xx.grid(row=0, column=1, columnspan=5)
zz = tk.Entry(win)
zz.bind('<FocusIn>', focus2)
zz.grid(row=1, column=1, columnspan=5)
cc = tk.Entry(win)
cc.bind('<FocusIn>', focus3)
cc.grid(row=2, column=1, columnspan=5)
print(f)
def but(n):
n=str(n)
global f
if f==1:
print(1)
t=len(xx.get())
xx.insert(t , n)
if f==2:
print(2)
t=len(zz.get())
zz.insert(t,n)
if f==3:
print(3)
t=len(cc.get())
cc.insert(t,n)
aj1 = tk.Button(win, text='1', width=3, height=2, font=1,command=lambda:but(1))
aj1.grid(row=3, column=7, ipadx=5)
aj2 = tk.Button(win, text='2', width=3, height=2, font=1,command=lambda:but(2))
aj2.grid(row=3, column=8, ipadx=5)
aj3 = tk.Button(win, text='3', width=3, height=2, font=1,command=lambda:but(3))
aj3.grid(row=3, column=9, ipadx=5)
aj4 = tk.Button(win, text='4', width=3, height=2, font=1,command=lambda:but(4))
aj4.grid(row=4, column=7, ipadx=5)
aj5 = tk.Button(win, text='5', width=3, height=2, font=1,command=lambda:but(5))
aj5.grid(row=4, column=8, ipadx=5)
aj6 = tk.Button(win, text='6', width=3, height=2, font=1,command=lambda:but(6))
aj6.grid(row=4, column=9, ipadx=5)
win.mainloop()