答案 0 :(得分:0)
我无法打开你的图片,但让我尝试帮助您。
将“滚动条”小部件的命令选项设置为txt yview方法。
scrollb = tk.Scrollbar(..., command=txt.yview)
将“文本”小部件的yscrollcommand选项设置为滚动条的set方法。
txt['yscrollcommand'] = scrollb.set
您需要执行此操作,以使txt和滚动条对鼠标滚轮做出反应。
要将行号添加到txt中,您可以使用循环,每次执行循环时,将行号添加到下一行。
这是一个带有滚动条的工作代码,可对鼠标滚轮做出反应:
import tkinter as tk
class App(object):
def __init__(self):
self.root = tk.Tk()
# create a Frame for the Text and Scrollbar
txt_frm = tk.Frame(self.root, width=600, height=600)
txt_frm.pack(fill="both", expand=True)
# ensure a consistent GUI size
txt_frm.grid_propagate(False)
# implement stretchability
txt_frm.grid_rowconfigure(0, weight=1)
txt_frm.grid_columnconfigure(0, weight=1)
# create a Text widget
self.txt = tk.Text(txt_frm, borderwidth=3, relief="sunken")
self.txt.config(font=("consolas", 12), undo=True, wrap='word')
self.txt.grid(row=0, column=0, sticky="nsew", padx=2, pady=2)
# create a Scrollbar and associate it with txt
scrollb = tk.Scrollbar(txt_frm, command=self.txt.yview)
scrollb.grid(row=0, column=1, sticky='nsew')
self.txt['yscrollcommand'] = scrollb.set
app = App()
app.root.mainloop()