2019年1月22日 星期二

tkinter

import json
from tkinter import *


class GUI:
    data = {0: 'aaa', 1: 'bbb', 2: 'ccc'}

    def __init__(self):
        self.root = Tk()
        self.checks = {}
        self.msg = Label(self.root)

        self._build_1()
        self._event_1()
        self._render()

    def _build_1(self):
        Label(self.root, text="choose").pack()

        for i in range(len(GUI.data)):
            check = self.checks[i] = BooleanVar()

            // 監聽述職的變化
            check.trace('w', self._event_1)

            checkbtn = Checkbutton(self.root, text=GUI.data[i], variable=check)
            checkbtn.pack()

        self.msg.pack()

    def _render(self):
        self.root.mainloop()

    def _event_1(self, *args):

        res = []

        for i, check in (self.checks).items():
            
            if check.get() == True:
                res.append(GUI.data[i])

        res = json.dumps(res)
        self.msg.config(text=res)


GUI()