Как сделать функциональный прокручиваемый холст, используя tkinter, tkinter.tkk и python? - PullRequest
0 голосов
/ 20 июня 2019

Я пытаюсь создать свое первое приложение, используя python, tkinter и tkinter.ttk, и я, к сожалению, не могу найти способ эффективно прокрутить группу виджетов, сгруппировав их все на холсте ...

Я уже прошел много форумов и не нашел ответа.Я перепробовал все, что нашел, но тщетно.Это код, который мне удалось построить до сих пор:

from tkinter import *
from tkinter.ttk import *

window = Tk()
window.configure(background = 'lightgray')


#creates the main canvas
canvas = Canvas(window, width=5000, height=3000, bg = "lightgray")


#creates the canvas scrollbar (hopefully)
scrollbar = Scrollbar(window, orient= VERTICAL)
scrollbar.grid(row = 0, column = 3, sticky = W)
scrollbar.configure(command = canvas.yview, scrollregion = canvas.bbox("all"))

canvas.config(yscrollcommand=scrollbar.set)
canvas.grid(row = 0, column = 0, sticky = W)


#those are the types of widgets I'd like to scroll through : 
for i in range(50):
    ask_name = Label(canvas, text = "What is your name : ")
    ask_name.grid(row = i, column = 0, sticky = W)

    field_file_name = Entry(canvas, width = 20)
    field_file_name.grid(row = i, column = 1, sticky = W)

    filler = Label(canvas, text= "\n")
    filler.grid(row = i, column = 2)


window.mainloop()



Когда я запускаю этот кусок кода, полоса прокрутки появляется, но она неактивна, и когда я удаляю "canvas.config (yscrollcommand =scrollbar.set) "немного, полоса прокрутки не затенена, но ее кнопки не работают.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...