Python scrolledtext模块

时间:2017-02-02 15:59:36

标签: python python-3.x user-interface tkinter

我想使用scrolledtext模块创建一个ScrolledText小部件,用于在python中创建GUI。我已经成功创建了一个ScrolledText小部件,但我无法为其添加水平滚动条。

body {
  font-family: 'MyWebFont', Fallback, sans-serif;
}

上面的代码片段用于创建ScrolledText小部件。

ScrolledText Widget Screenshot

小部件仅包含垂直滚动条。我想为它添加一个水平滚动条。知道怎么做吗?

更新:ScrolledText小部件用于接受多行输入。查看附图。

ScrolledText widget

1 个答案:

答案 0 :(得分:1)

您可以使用文本小部件和几个滚动条自行实现滚动文本小部件。

这是一个将文本小部件和两个滚动条放在一个框架中的示例,因此它们看起来好像是一个小部件。这几乎就是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()