Я написал программу на python с библиотеками tkinter и pillow, где пользователь может открыть изображение.Затем они могут увеличивать или уменьшать изображение с помощью слайдера.Я отправил вопрос о выводе фотоизображения здесь: PhotoImage не отвечает на виджет масштаба Python tkinter , и изменения сработали.Затем я попытался переписать свою программу, используя класс MainApp (), но именно здесь у меня, казалось бы, неописуемые (для меня) ошибки определения - в частности, tk Canvas canvasframw - и ошибки отступов.Как мне избежать этого?
Вот соответствующая часть кода класса Python:
from Tkinter import *
import tkFileDialog
from PIL import ImageTk, Image
factor = 1.0
width_org = 500
height_org = 500
class MainApp(Frame):
def createControls(self):
frame = Frame(self, width = 600, height = 500)
frame.configure(background = 'red')
frame.pack(anchor = 'nw')
canvasframe = Canvas(frame, width = 600, height = 500, scrollregion = (-600,-500,600,500))
canvasframe.configure(xscrollcommand= hbar.set, yscrollcommand= vbar.set)
canvasframe.pack(expand = True, fill = BOTH)
hbar = Scrollbar(frame, orient=HORIZONTAL)
hbar.pack(side=BOTTOM, fill=X)
hbar.configure(command= canvasframe.xview)
vbar = Scrollbar(frame, orient=VERTICAL)
vbar.pack(side=RIGHT, fill = Y)
vbar.configure(command= canvasframe.yview)
def __init__(self, parent):
Frame.__init__(self, parent, width = 800, height = 600, background = 'yellow')
self.pack()
self.createControls()
root = Tk()
app = MainApp(parent =root)
app.mainloop()