如何为文本框添加滚动条

0 投票
3 回答
1260 浏览
提问于 2025-04-17 16:11

我正在尝试给我的图形界面中的一个文本框添加一个滚动条。

到目前为止,我已经做了文本框和(我认为)滚动条,但不知道怎么把这两个东西结合在一起。

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 返回的是 NoneWidget.packWidget.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(...) 的结果。而且,把布局和小部件的创建分开写会让你的代码更容易维护。

撰写回答