求改(水平滚动条带动了垂直滚动条)

import tkinter as tk
from idlelib.colorizer import ColorDelegator
from idlelib.percolator import Percolator

main = tk.Tk()
frame = tk.Frame(main)
xbar = tk.Scrollbar(frame, orient = 'horizontal')
xbar.pack(side = tk.BOTTOM, fill = tk.X)
ybar = tk.Scrollbar(frame)
ybar.pack(side = tk.RIGHT, fill = tk.Y)
text = tk.Text(frame, xscrollcommand = xbar.set, yscrollcommand = ybar.set, wrap = 'none')
text.pack(expand = tk.YES, fill = tk.BOTH)
Percolator(text).insertfilter(ColorDelegator())
xbar.config(command = text.xview)
xbar.config(command = text.yview)
frame.pack()
main.mainloop()

 

这样写,用scrollbar属性command到文本,再用文本配置到滚动条。x和y个一次。另外,框架和文本是两个控件,文本又是框架内得,而你要全部滚动生效,所以Scrollbar后面的第一个参数用main,就是整个窗口