ImageViewer クラスを作成する
画像ビューアアプリケーションを処理する ImageViewer という新しいクラスを定義します。
class ImageViewer:
def __init__(self, root):
self.root = root
self.root.title('LabEx Image Viewer')
self.root.geometry('800x600')
self.root.configure(background='white')
self.image_label = tk.Label(self.root)
self.image_label.pack()
self.control_frame = tk.Frame(self.root)
self.control_frame.pack()
self.open_button = tk.Button(self.control_frame, text='Open', command=self.open_image)
self.open_button.pack(side='left')
self.close_button = tk.Button(self.control_frame, text='Quit', command=self.root.quit)
self.close_button.pack(side='left')
self.zoom_in_button = tk.Button(self.control_frame, text='Zoom In', command=self.zoom_in)
self.zoom_in_button.pack(side='left')
self.zoom_out_button = tk.Button(self.control_frame, text='Zoom Out', command=self.zoom_out)
self.zoom_out_button.pack(side='left')
self.rotate_button = tk.Button(self.control_frame, text='Rotate', command=self.rotate)
self.rotate_button.pack(side='left')
self.current_image_path = ''
self.zoom_level = 1
__init__ メソッドでは、タイトル、サイズ、背景色でルートウィンドウを初期化します。その後、画像を表示するためのラベルとコントロールボタン(Open、Quit、Zoom In、Zoom Out、Rotate)を保持するためのフレームを作成します。また、現在の画像パスとズームレベルを追跡するためのインスタンス変数も定義します。