4

I'm learning Tkinter at the moment. From my book, I get the following code for producing a simple vertical scrollbar:

from tkinter import * # Import tkinter class ScrollText: def __init__(self): window = Tk() # Create a window window.title("Scroll Text Demo") # Set title frame1 = Frame(window) frame1.pack() scrollbar = Scrollbar(frame1) scrollbar.pack(side = RIGHT, fill = Y) text = Text(frame1, width = 40, height = 10, wrap = WORD, yscrollcommand = scrollbar.set) text.pack() scrollbar.config(command = text.yview) window.mainloop() # Create an event loop ScrollText() # Create GUI 

which produces the following nice output: enter image description here

However, when I then try to change this code in the obvious way to get a horizontal scrollbar, it's producing a weird output. Here's the code I'm using

from tkinter import * # Import tkinter class ScrollText: def __init__(self): window = Tk() # Create a window window.title("Scroll Text Demo") # Set title frame1 = Frame(window) frame1.pack() scrollbar = Scrollbar(frame1) scrollbar.pack(side = BOTTOM, fill = X) text = Text(frame1, width = 40, height = 10, wrap = WORD, xscrollcommand = scrollbar.set) text.pack() scrollbar.config(command = text.xview) window.mainloop() # Create an event loop ScrollText() # Create GUI 

and here's what I get when I run this: enter image description here

1 Answer 1

10

You're assigning horizontal scrolling, xscrollcommand, to a vertical scrollbar. You need to modify Scrollbar's orient option to 'horizontal' which is by default 'vertical'.

Try replacing:

scrollbar = Scrollbar(frame1) 

with:

scrollbar = Scrollbar(frame1, orient='horizontal') 
Sign up to request clarification or add additional context in comments.

2 Comments

Awesome. That does it. TY.
@Will.Im.Not No problem.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.