Как добавить полосу прокрутки на холст? - PullRequest
0 голосов
/ 11 апреля 2020

введите описание изображения здесь * Я пытался создать полосу прокрутки (добавлено на холст несколько текстовых конкатайнеров, но это не работает)

создание рамки для ноутбука

nb=ttk.Notebook(root,width=800)

создание 3 вкладок

 nb.grid(column=0,row=6,columnspan=50,rowspan=49,sticky="NESW",pady=1,padx=1)
    page1=ttk.Frame(nb)
    nb.add(page1,text="1")
    page2=ttk.Frame(nb)
    nb.add(page2,text="2")
    page3=ttk.Frame(nb)

    nb.add(page3,text="3")

Создание холста

canvas = Canvas(page3, scrollregion=(0,0,500,500), height=200, width=200)

    canvas.grid(column=3,row=2)



s = Scrollbar(page3, command=canvas.xview)
    s.grid(column=2,row=2)][1]
    canvas.configure(yscrollcommand=s.set)


canvas.configure(yscrollincrement='2')

весь код

from tkinter import *
from tkinter import ttk
from tkinter.ttk import Notebook,Entry,Style
from tkinter.tix import *



def exit_command():
    root.quit()


texts_x_i3=[]
texts_m_i3=[]
texts_p_i3=[]
texts_np_i3=[]

root=Tk()
root.resizable(True,True)
root.title('Class')
root.configure(bg="grey")

NonTypeN = Entry(width=8)
NonTypeN.grid(row=1, column=0,pady=3)
NonTypeleft = Entry(width=8)
NonTypeleft.grid(row=1, column=1,pady=3)
NonTyperight = Entry(width=8)
NonTyperight.grid(row=1, column=2,pady=3)

nb=ttk.Notebook(root,width=800)
nb.grid(column=0,row=6,columnspan=50,rowspan=49,sticky="NESW",pady=1,padx=1)
page1=ttk.Frame(nb)
nb.add(page1,text="1")
page2=ttk.Frame(nb)
nb.add(page2,text="2")
page3=ttk.Frame(nb)

nb.add(page3,text="3")


canvas = Canvas(page3, scrollregion=(0,0,500,500), height=200, width=200)

canvas.grid(column=3,row=2)

for i in range(20):
    exec("texts_m_i3%s = Text(canvas,width=10,height=1,wrap=WORD)" % i)
    exec("texts_m_i3%s.grid(row=2,column=i+1,sticky=W+E,padx=1,pady=1)" % i)
    exec("texts_m_i3.append(texts_m_i3%s)" % i)
    exec("texts_p_i3%s = Text(canvas,width=10,height=1,wrap=WORD)" % i)
    exec("texts_p_i3%s.grid(row=3,column=i+1,sticky=W+E,padx=1,pady=1)" % i)
    exec("texts_p_i3.append(texts_p_i3%s)" % i)
    exec("texts_np_i3%s = Text(canvas,width=10,height=1,wrap=WORD)" % i)
    exec("texts_np_i3%s.grid(row=4,column=i+1,sticky=W+E,padx=1,pady=1)" % i)
    exec("texts_np_i3.append(texts_np_i3%s)" % i)
s = Scrollbar(page3, command=canvas.xview)
s.grid(column=2,row=2)
canvas.configure(yscrollcommand=s.set)


canvas.configure(yscrollincrement='2')
ttk.button1=Button(text="Exit",width=5,command=exit_command).grid(column=51,row=0)
root.mainloop()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...