[python]tkinter库文本框无返回值

【python】 tkinter库文本框无返回值

# coding:utf-8

import tkinter as tk


# global ax1
# global ay1
# global ax2
# global ay2
# global bx1
# global by1
# global bx2
# global by2

def d():# 测试用的
    print(ax1,ax2)
    print('s')
gui = tk.Tk()
gui.geometry('500x350')
gui.title('地牢坐标计算器')
tk.Label(gui,text='地牢坐标计算器').pack()
tk.Label(gui,text='珍珠1').place(x=30,y=40)
tk.Label(gui,text='起点:x            y').place(x=30,y=60)
ax1 = tk.Entry(gui,width=10).place(x=30,y=80)
ay1 = tk.Entry(gui,width=10).place(x=120,y=80)
tk.Label(gui,text='落点:x            y').place(x=240,y=60)
ax2 = tk.Entry(gui,width=10).place(x=240,y=80)
ay2 = tk.Entry(gui,width=10).place(x=330,y=80)
tk.Label(gui,text='珍珠2').place(x=30,y=120)
tk.Label(gui,text='起点:x            y').place(x=30,y=140)
bx1 = tk.Entry(gui,width=10).place(x=30,y=160)
by1 = tk.Entry(gui,width=10).place(x=120,y=160)
tk.Label(gui,text='落点:x            y').place(x=240,y=140)
bx2 = tk.Entry(gui,width=10).place(x=240,y=160)
by2 = tk.Entry(gui,width=10).place(x=330,y=160)
tk.Button(gui,text='计算',command=d()).place(x=225,y=200)

gui.mainloop()

我希望ax1等各个变量值为文本框中用户输入的值
还有一个问题:运行程序时会先运行一次d()

你题目的解答代码如下:

# coding:utf-8

import tkinter as tk


# global ax1
# global ay1
# global ax2
# global ay2
# global bx1
# global by1
# global bx2
# global by2

def d():# 测试用的
    print(ax1.get(),ax2.get())
    print('s')
gui = tk.Tk()
gui.geometry('500x350')
gui.title('地牢坐标计算器')
tk.Label(gui,text='地牢坐标计算器').pack()
tk.Label(gui,text='珍珠1').place(x=30,y=40)
tk.Label(gui,text='起点:x            y').place(x=30,y=60)
ax1 = tk.Entry(gui,width=10)
ax1.place(x=30,y=80)
ay1 = tk.Entry(gui,width=10)
ay1.place(x=120,y=80)
tk.Label(gui,text='落点:x            y').place(x=240,y=60)
ax2 = tk.Entry(gui,width=10)
ax2.place(x=240,y=80)
ay2 = tk.Entry(gui,width=10)
ay2.place(x=330,y=80)
tk.Label(gui,text='珍珠2').place(x=30,y=120)
tk.Label(gui,text='起点:x            y').place(x=30,y=140)
bx1 = tk.Entry(gui,width=10)
bx1.place(x=30,y=160)
by1 = tk.Entry(gui,width=10)
by1.place(x=120,y=160)
tk.Label(gui,text='落点:x            y').place(x=240,y=140)
bx2 = tk.Entry(gui,width=10)
bx2.place(x=240,y=160)
by2 = tk.Entry(gui,width=10)
by2.place(x=330,y=160)
tk.Button(gui,text='计算',command=d).place(x=225,y=200)

gui.mainloop()

如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!

img