【python】tkinterの基本的な使い方2(ボタン・リストボックス)

この記事は約3分で読めます。

前回の続きです。今回はボタンとリストボックスを作成します。

import tkinter as tk

class Test_Frame(tk.Frame):
    
    def __init__(self, master=None):
        super().__init__(master)
        self.pack()
        self.test_widgets()

    def test_widgets(self):
        """前回はここから"""
        self.test_label = tk.Label(self, text="test_label")
        self.test_label.place(x=100, y=100)
        self.test_label.grid(row=0, column=0)
        self.test_input = tk.Entry(self, width=40)
        self.test_input.grid(row=0, column=1)
    """今回はここから"""    

if __name__ == "__main__":
    root = tk.Tk()
    root.geometry("400x400")
    root.title("test")
    app = Test_Frame(master=root)
    app.mainloop()

ボタンの作成

# ボタンの作成
self.test_button = tk.Button(self, width=8, height=1)

# ボタンの名前を追加
self.test_button["text"] = "test"

# ボタンを押したときの挙動
self.test_button["command"] = print("test")

# 配置
self.test_button.grid(row=1, column=0)

ボタンが作成されました。

リストボックスの作成

枠の作成

self.test_listbox = tk.Listbox(self, width=20, height=5)
self.test_listbox.grid(row=3, column=0)

リストの挿入

self.test_listbox.insert(0, "test")

引数は最初に数字で順番を入力します。末尾に追加する場合は“end”を使います。

複数項目を追加する場合にはfor文で追加します。

test_index_list = ["one", "two", "three"]
for i, index in enumerate(test_index_list):
    self.test_listbox.insert(i, index)

リストの削除

リストの削除は削除する開始地点と終了地点を入力します。※終了地点は省略可能です。

self.test_listbox.delete(0, )

リストを全て削除する場合は

self.test_listbox.delete(0, tkinter.END)

これで全て削除になります。

選択されたリストの値を取得

まずは選択されているリストの行を取得します。

test_len = self.test_listbox.curselection()
>>> 2

取得した行から内容を取得します。

index_name = self.test_listbox.get(test_len)

これで取得できます。

コメント

タイトルとURLをコピーしました