GUI

Pythonでペイントアプリを作ってみる (7) 線を描くオプションの設定用のUIを作成する 1 コンボボックス

タカ

線を描く時に色や、太さなどを設定したいと思います。今回はUIを用意します。

tool_detail_barに色を設定できるようにしてみます。

from tkinter import ttk

def setup_options_fill(self):
        tk.Label(self.tool_detail_bar, text='色:').pack(side="left")
        self.cmb_fill = ttk.Combobox(
            self.tool_detail_bar, state='readonly', width=10)
        self.cmb_fill['values'] = (
            'none', 'red', 'blue', 'yellow', 'black', 'white')
        self.cmb_fill.pack(side="left")

以下のように呼び出します。

def setup_tool_bar(self):
        self.tool_bar = tk.Frame(self.root, width=30)
        self.setup_options_fill()
        self.tool_bar.pack(fill="y", side="left")

線を引く部分に新たに色をセットできるようにします。

def draw_line(self):
        self.canvas.create_line(self.start_x, self.start_y, self.end_x, self.end_y, fill=self.cmb_fill.get())

実行結果
実行結果