我想使用用于在 python 中创建 GUI 的 scrolledtext 模块创建一个 ScrolledText 小部件。我已经成功创建了一个 ScrolledText 小部件,但是我无法向它添加水平滚动条。
e3=ScrolledText(window3,width=24,height=13)
e3.grid(row=5,column=1,rowspan=6,columnspan=4)
上面的代码片段用于创建 ScrolledText 小部件。
ScrolledText Widget Screenshot
小部件仅包含垂直滚动条。我也想给它添加一个水平滚动条。知道怎么做吗?
更新:ScrolledText 小部件正用于接受多行输入。检查所附图片。
最佳答案
您可以使用一个文本小部件和几个滚动条自己实现一个滚动的文本小部件。
下面的示例将一个文本小部件和两个滚动条放在一个框架中,这样它们就好像是一个单独的小部件一样。这几乎正是 ScrolledText
小部件所做的:
import tkinter as tk
root = tk.Tk()
textContainer = tk.Frame(root, borderwidth=1, relief="sunken")
text = tk.Text(textContainer, width=24, height=13, wrap="none", borderwidth=0)
textVsb = tk.Scrollbar(textContainer, orient="vertical", command=text.yview)
textHsb = tk.Scrollbar(textContainer, orient="horizontal", command=text.xview)
text.configure(yscrollcommand=textVsb.set, xscrollcommand=textHsb.set)
text.grid(row=0, column=0, sticky="nsew")
textVsb.grid(row=0, column=1, sticky="ns")
textHsb.grid(row=1, column=0, sticky="ew")
textContainer.grid_rowconfigure(0, weight=1)
textContainer.grid_columnconfigure(0, weight=1)
textContainer.pack(side="top", fill="both", expand=True)
root.mainloop()
关于Python 滚动文本模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42006805/