GUI

Pythonでペイントアプリを作ってみる (3) Canvasを作成する

タカ

先日、作成したFrameにCanvasを追加します。

setup_canvas_frameに処理を追加で記述していきます。

canvas_frameとcanvasは別なので、

それぞれpackが忘れないように気をつけましょう

canvasへのスクロールバーの追加も忘れずに。

self.canvas.config(xscrollcommand=scroll_x.set,

yscrollcommand=scroll_y.set)

def setup_canvas_frame(self):
    self.canvas_frame = tk.Frame(
        self.root, width=800, height=800)
    self.canvas_frame.pack(expand="yes", fill="both", side="right")
    self.canvas = tk.Canvas(self.canvas_frame, bg="white",
                            width=500, height=500, scrollregion=(0, 0, 600, 600))
    self.setup_scroll_bar()
    self.canvas.pack(expand="yes", fill="both", side="right")

def setup_scroll_bar(self):
    scroll_x = tk.Scrollbar(self.canvas_frame, orient="horizontal")
    scroll_x.pack(side="bottom", fill="x")
    scroll_x.config(command=self.canvas.xview)
    scroll_y = tk.Scrollbar(self.canvas_frame, orient="vertical")
    scroll_y.pack(side="right", fill="y")
    scroll_y.config(command=self.canvas.yview)
    self.canvas.config(
        xscrollcommand=scroll_x.set, yscrollcommand=scroll_y.set)
実行結果