Python Не отображается горизонтальная полоса прокрутки библиотеки TK - PullRequest
0 голосов
/ 26 мая 2020

Я действительно новичок в библиотеке TK. У меня есть следующий код, но горизонтальная полоса прокрутки не отображается. Кто-нибудь может понять, почему? Любая помощь приветствуется!

import tkinter as tk
from tkinter import ttk

root = tk.Tk()
container = ttk.Frame(root)
canvas = tk.Canvas(container)
scrollbar_y = ttk.Scrollbar(container, orient="vertical", command=canvas.yview)
scrollbar_x = ttk.Scrollbar(container, orient="horizontal", command=canvas.xview)
scrollable_frame = ttk.Frame(canvas)

scrollable_frame.bind(
    "<Configure>",
    lambda e: canvas.configure(
        scrollregion=canvas.bbox("all")
    )
)

canvas.create_window((0, 0), window=scrollable_frame, anchor="nw")

canvas.configure(yscrollcommand=scrollbar_y.set, xscrollcommand=scrollbar_x.set)

for i in range(50):
    ttk.Label(scrollable_frame, text="Sample scrolling label").pack()

container.pack()
canvas.pack(side="left", fill="both", expand=True)
scrollbar_y.pack(side="right", fill="y")
scrollbar_x.pack(side="bottom", fill="x")

root.mainloop()

1 Ответ

1 голос
/ 26 мая 2020

проблема решена:

пришлось заменить

self.x_scrollbar = Scrollbar(self.container, orient="horizontal", command=self.canvas.xview)

на

self.x_scrollbar = Scrollbar(self.master, orient="horizontal", command=self.canvas.xview)

, чтобы полоса прокрутки могла отображаться внизу, а не быть скрытой в рамка.

...