from tkinter import *
def submit():
print(u.get())
p.set(u.get())
root = Tk()
root.title("测试")
frame = Frame(root)
frame.pack(padx=8, pady=8, ipadx=4)
lab1 = Label(frame, text="获取:")
lab1.grid(row=0, column=0, padx=5, pady=5, sticky=W)
#绑定对象到Entry
u = StringVar()
ent1 = Entry(frame, textvariable=u)
ent1.grid(row=0, column=1, sticky='ew', columnspan=2)
lab2 = Label(frame, text="显示:")
lab2.grid(row=1, column=0, padx=5, pady=5, sticky=W)
p = StringVar()
ent2 = Entry(frame, textvariable=p)
ent2.grid(row=1, column=1, sticky='ew', columnspan=2)
button = Button(frame, text="登录", command=submit, default='active')
button.grid(row=2, column=1)
lab3 = Label(frame, text="")
lab3.grid(row=2, column=0, sticky=W)
button2 = Button(frame, text="退出", command=quit)
button2.grid(row=2, column=2, padx=5, pady=5)
#以下代码居中显示窗口
root.update_idletasks()
x = (root.winfo_screenwidth() - root.winfo_reqwidth()) / 2
y = (root.winfo_screenheight() - root.winfo_reqheight()) / 2
root.geometry("+%d+%d" % (x, y))
root.mainloop()
效果如下:
设定变量类型,收到输入的内容之后进行转换,如下:
import tkinter
windows = tkinter.Tk() # 实例化窗口类
windows.title('Demo') # 窗口标题
def sub(): # 创建相加函数
number1 = int(ent1.get()) # 获得两个按钮的内容转换为字符串类型
number2 = int(ent2.get())
number3 = number1 + number2
var.set(number3)
var = tkinter.IntVar() # 定义变量类型
ent1 = tkinter.Entry(windows)
ent2 = tkinter.Entry(windows)
ent3 = tkinter.Entry(windows,textvariable=var)
ent1.pack(side = tkinter.LEFT,padx=5) # 包装定位控件
ent2.pack(side = tkinter.LEFT,padx=5)
ent3.pack(side = tkinter.LEFT,padx=5)
button1 = tkinter.Button(windows,text='计算',command = sub).pack() # 绑定信号
button2 = tkinter.Button(windows,text='退出',command = windows.destroy).pack()
windows.mainloop() # 循环保持窗口运行