목록 상자의 항목 추가

tkinter로 GUI 프로그래밍
이번에는 리스트 박스의 항목을 버튼을 눌러 늘려가는 프로그램을 정리한다.
import tkinter as tk
import tkinter.ttk as ttk

root = tk.Tk()
root.geometry('300x300')

def select_now(event):
    for i in lb.curselection(): #現在選択されている項目を取得
        print(str(i)+'番目を選択中')
    print('')

#リストボックス
listarray = ['項目1', '項目2', '項目3', '項目4']
txt = tk.StringVar(value=listarray) #文字列なのでStringVar()でオブジェクトを生成
lb = tk.Listbox(root, listvariable=txt, width=28, height=15)
lb.bind('<<ListboxSelect>>', select_now) #項目が選択されたときの処理

#スクロールバーの生成・配置
scrollbar = ttk.Scrollbar(root, orient=tk.VERTICAL, command=lb.yview)
scrollbar.pack(fill='y', side='right')

#ボタンの生成・配置
button_page = ttk.Button(root, text='+', width=4)
button_page.bind('<1>', lambda event: lb.insert(tk.END, '新規'))
button_page.pack()
lb.pack() #リストボックス配置

root.mainloop()

실행하면,
 
Listbox(object, listvaliable) ...object에 값 listvaliable의 listbox를 생성한다.
옵션의 listvariable 에는 Variable 객체를 지정한다. 서브 클래스 StringVar, IntVar, DoubleVar, BooleanVar 중에서 선택해, 이번은 캐릭터 라인이므로 StringVar() 로 오브젝트를 생성.
StrinVar 문자열 ex.)'hello'
IntVar 정수 ex.) 12345
DoubleVar 실수 ex.) 1.2345
BooleanVar 논리 값 ex.) True False
Listbox.insert(tk.END, value) ...리스트 박스의 항목의 말미에 value 삽입

참고문헌
htps : // 아메 bぉ. jp / Hito-chan 007 / Entry 12011753728. HTML
h tps : // 그리고 너에게. 인후 / 포 st-13014 /

좋은 웹페이지 즐겨찾기