Полоса прокрутки не работает в виджете холста tkinter после добавления меток - PullRequest
0 голосов
/ 06 июня 2018

Я сошел с ума от приложения, которое рекламирует ярлык на холсте.Я также установил вертикальную полосу прокрутки.Проблема в том, что я не могу активировать полосу прокрутки, полоса прокрутки не позволяет прокручивать.Я использовал grid_propagate(0), но он все еще не работает.КАК активировать эту функцию?Программа не показывает мне никаких ошибок.

from tkinter import *

root=Tk()
frame=Frame(root,width=300,height=300)
frame.grid(row=0,column=0)
frame.grid_propagate(0)

canvas=Canvas(frame,width=300,height=300)

vbar=Scrollbar(frame,orient=VERTICAL)
vbar.grid(row=0, column=1,sticky="NS")
vbar.config(command=canvas.yview)

canvas.config(width=300,height=300)
canvas.config(yscrollcommand=vbar.set)
canvas.grid(row=0,column=0)

n=0
m=10
def novi():
    global n
    global m

    n +=1

    m=m+2

    e = Label(canvas, text=m )
    e.grid(row=n,column=0, padx=10, pady=10)

b = Button(root, text="add", command=novi)
b.grid(row=0, column=2,sticky="N")

root.mainloop()

1 Ответ

0 голосов
/ 08 июля 2018

Вы можете попробовать сделать что-то вроде этого:

  1. Укажите область прокрутки холста, например:

    canvas.config(scrollregion = (0,0, 940, 1200))

  2. Укажите, куда поместить ваш виджет внутри холста, с кодом, подобным:

    canvas.create_window (x, y, window = here_goes_your_widget)

    В этом примере «x» и «y» - это координаты.


Насколько я знаю, вы должны вручную указать положение виджета, который вы хотите поместить в свой холст.

Что ж, надеюсь, это поможет.Hasta la próxima, che!

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