from tkinter import *
from tkinter import ttk
import math
def func1(*args):
try:
value = left_val.get()
sum = int(value)
right_val.set(sum*sum)
# todo
except ValueError:
pass
#转化功能1
def func2(*args):
try:
value = right_val.get()
sum = int(value)
left_val.set(int(math.sqrt(sum)))
except ValueError:
pass
#转换功能2
root = Tk()#建tk的窗口类
root.title('这是标题')#设置窗口标题
mainframe = ttk.Frame(root, padding='100 100 200 200')#pad的第一个是距离左边界长度第二个是距离上面的距离第三四个整个窗口的长和宽
mainframe.grid(column=0, row=0, sticky=(N, W, E, S))
root.columnconfigure(0, weight=1)
root.rowconfigure(0, weight=1)
left_val = StringVar()#创建左边的text文本框
right_val = StringVar()#创建右边的text文本框
#左边右边只是名字下面确定的是位置
left_entry = ttk.Entry(mainframe, width=10, textvariable=left_val)
right_entry = ttk.Entry(mainframe, width=10, textvariable=right_val)
#左边右边只是名字设置text文本框的宽带长度忘了怎么设置
left_entry.grid(column=1, row=1, sticky=W, rowspan=2)
right_entry.grid(column=3, row=1, sticky=E, rowspan=2)
#column列row行就像表格一样设置到窗口里面sticky居中rowspan是跨行
ttk.Button(mainframe, text='->', command=func1).grid(column=2, row=1, sticky=(W, E))
ttk.Button(mainframe, text='<-', command=func2).grid(column=2, row=2, sticky=(W, E))
#column列row行就像表格一样设置到窗口里面,command是这个转换按钮的功能可以定义函数来实现sticky是居中这里是左右居中
for child in mainframe.winfo_children():
child.grid_configure(padx=5, pady=5)#这个貌似是整体大小
root.mainloop()