如何为文本框添加滚动条
我正在尝试给我的图形界面中的一个文本框添加一个滚动条。
到目前为止,我已经做了文本框和(我认为)滚动条,但不知道怎么把这两个东西结合在一起。
textBox_1 = Text(myGUI).place(x=75, y=300)
scroll_1 = Scrollbar(myGUI)
scroll_1.configure()
3 个回答
0
应该是:
textbox_1.config(yscrollcommand=scroll_1.set)
0
在使用 Tkinter
时,不管你用的是哪种布局管理器,如果你想保留对控件的引用,就需要在不同的行上创建控件和使用布局管理器。换句话说,Widget.place
返回的是 None
(Widget.pack
和 Widget.grid
也是如此)。
textBox_1 = Text(myGUI)
textBox_1.place(x=75, y=300)
scroll_1 = Scrollbar(myGUI)
textbox_1.config(yscrollcommand=scroll_1.set)
1
你需要做两个步骤:首先,把滚动条和小部件连接起来;然后,再把小部件和滚动条连接起来。比如:
textBox_1 = Text(...)
scroll_1 = Scrollbar(...)
textBox_1.configure(yscrollcommand=scroll_1.set)
scroll_1.configure(command=textBox_1.yview)
另外,我注意到你在创建小部件的时候调用了 place
。这样做是不对的。当你写 Text(...).place(...)
时,其实是把 place
的结果存储在 textbox_1
里,而不是 Text(...)
的结果。而且,把布局和小部件的创建分开写会让你的代码更容易维护。