Python 如何设置入口栏的位置?

Python 如何设置入口栏的位置?,python,tkinter,Python,Tkinter,在下面的程序中,我显示了一个输入框,希望在输入框的正下方有一个滚动条。这可以工作,但滚动条在底部,而不是在输入框下面 from tkinter import * root = Tk() calc = Frame(root) calc.grid() def saveIt(): print(text_box.get()) text_box = Entry(calc, justify=RIGHT, width=20) text_box.grid(row=1, column = 0, pa

在下面的程序中,我显示了一个输入框,希望在输入框的正下方有一个滚动条。这可以工作,但滚动条在底部,而不是在输入框下面

from tkinter import *

root = Tk()
calc = Frame(root)
calc.grid()

def saveIt():
    print(text_box.get())

text_box = Entry(calc, justify=RIGHT, width=20)
text_box.grid(row=1, column = 0, pady = 5)
text_box.insert(0, "testtest1234567890testtest")

scrollbar=Scrollbar(root,orient=HORIZONTAL, command=text_box.xview, width=10)
scrollbar.grid(row=2,  column = 0,sticky=E+W, pady=4)

save_button = Button(calc, text = "save")
save_button["command"] = lambda: saveIt()
save_button.grid(row=3, column = 0, pady = 5)

text_box.config(xscrollcommand=scrollbar.set)
root.mainloop()
因为我刚刚开始学习Python和tkinter,所以任何和所有的评论(甚至问题的解决方案)都会很高兴收到


提前谢谢。

这是因为
文本框
保存按钮
的父窗口小部件是
计算
,其父窗口是
根目录
,滚动条的父窗口也是
根目录
。因此,
calc
作为一个整体在滚动条上方进行网格化,因此
calc
中的所有内容也在滚动条上方。你只需要改变一下

scrollbar = Scrollbar(root, orient=HORIZONTAL, command=text_box.xview, width=10)


这是因为
文本框
保存按钮
的父窗口小部件是
计算
,其父窗口是
根窗口
,滚动条的父窗口也是
根窗口
。因此,
calc
作为一个整体在滚动条上方进行网格化,因此
calc
中的所有内容也在滚动条上方。你只需要改变一下

scrollbar = Scrollbar(root, orient=HORIZONTAL, command=text_box.xview, width=10)


另外,不需要
lambda:saveIt()
。您可以(也应该)只编写
save_按钮['command']=saveIt
。此外,不需要
lambda:saveIt()
。您可以(也应该)只编写
save_按钮['command']=saveIt