【发布时间】:2021-05-09 06:00:57
【问题描述】:
第一个代码完全可以正常工作。
-
第一个代码
from tkinter import * from tkinter import ttk win=Tk() add=StringVar() sub=StringVar() pro=StringVar() def Find(): add.set(float(ent00.get())+float(ent01.get())) sub.set(float(ent00.get())-float(ent01.get())) pro.set(float(ent00.get())*float(ent01.get())) ent00=Entry(win, width=15) ent00.grid(row=4, column=1, padx=10, pady=10, sticky='w') ent01=Entry(win, width=15) ent01.grid(row=5, column=1, padx=10, pady=10, sticky='w') lbl8=Label(win, text="Add", bg="crimson", fg="white", font=("times new roman",15,"bold")).grid(row=6, column=0, padx=20, pady=10, sticky='w') ent8=Entry(win, textvariable=add, width=15, state='readonly') ent8.grid(row=6, column=1, padx=10, pady=10, sticky='w') lbl15=Label(win, text="Subtract", bg="crimson", fg="white", font=("times new roman",15,"bold")).grid(row=7, column=0, padx=20, pady=10, sticky='w') ent15=Entry(win, textvariable=sub, width=15, state='readonly') ent15.grid(row=7, column=1, padx=10, pady=10, sticky='w') lbl9=Label(win, text="Product", bg="crimson", fg="white", font=("times new roman",15,"bold")).grid(row=8, column=0, padx=20, pady=10, sticky='w') ent9=Entry(win, textvariable=pro, width=15, state='readonly') ent9.grid(row=8, column=1, padx=10, pady=10, sticky='w') btn = Button(win, text = 'Calculate', command=Find, bd = '5', width=15, height=2) btn.grid(row=11, column=1, padx=20, pady=10) win.geometry("1400x700+250+250") win.mainloop()
但是当我定义它时,即使它成为一个函数(如下面的代码),它不起作用。它甚至没有显示任何错误。我不明白这个问题的原因。
-
第二个代码:
from tkinter import * from tkinter import ttk win=Tk() def code(): win=Tk() add=StringVar() sub=StringVar() pro=StringVar() def Find(): add.set(float(ent00.get())+float(ent01.get())) sub.set(float(ent00.get())-float(ent01.get())) pro.set(float(ent00.get())*float(ent01.get())) ent00=Entry(win, width=15) ent00.grid(row=4, column=1, padx=10, pady=10, sticky='w') ent01=Entry(win, width=15) ent01.grid(row=5, column=1, padx=10, pady=10, sticky='w') lbl8=Label(win, text="Add", bg="crimson", fg="white", font=("times new roman",15,"bold")).grid(row=6, column=0, padx=20, pady=10, sticky='w') ent8=Entry(win, textvariable=add, width=15, state='readonly') ent8.grid(row=6, column=1, padx=10, pady=10, sticky='w') lbl15=Label(win, text="Subtract", bg="crimson", fg="white", font=("times new roman",15,"bold")).grid(row=7, column=0, padx=20, pady=10, sticky='w') ent15=Entry(win, textvariable=sub, width=15, state='readonly') ent15.grid(row=7, column=1, padx=10, pady=10, sticky='w') lbl9=Label(win, text="Product", bg="crimson", fg="white", font=("times new roman",15,"bold")).grid(row=8, column=0, padx=20, pady=10, sticky='w') ent9=Entry(win, textvariable=pro, width=15, state='readonly') ent9.grid(row=8, column=1, padx=10, pady=10, sticky='w') btn = Button(win, text = 'Calculate', command=Find, bd = '5', width=15, height=2) btn.grid(row=11, column=1, padx=20, pady=10) win.geometry("1400x700+250+250") win.mainloop() btn1 = Button(win, text = 'OPEN CODE', command=code, bd = '5', width=20, height=2) btn1.grid(row=11, column=1, padx=20, pady=10) win.geometry("1400x700+250+250") win.mainloop()
我是否有任何错误导致其无法正常工作? ______________________
【问题讨论】:
标签: python function tkinter tk tkinter-entry