Tkinter множественный выбор из меню - PullRequest
0 голосов
/ 28 июня 2018

У меня проблема с установкой в ​​tkinter флажка множественного выбора меню. Мой код создает список вариантов, но без полей для их проверки / снятия:

СКРИНШОТ

Я пытаюсь добиться того же внешнего вида и функциональности, что описано в этом посте:

Python 3.5: назначение нескольких переменных с помощью выбора в раскрывающемся меню TKInter

Моя цель - создать список вариантов с уровня меню. Вот часть моего кода:

import twitter
import threading
import time
import tkinter as tk
from tkinter import *

class scanner(Frame):

def __init__(self, root = None):
    Frame.__init__(self,root)
    self.root = root
    self.init_window()

def init_window(self):
    root.grid_columnconfigure(0, weight = 1)
    root.grid_rowconfigure(0, weight = 1)

    #text field
    self.entry_1 = tk.Text(root)
    self.entry_1.grid(row = 0, column = 0, columnspan = 1, sticky = N+W+E+S)

    menu = Menu(self.root)
    self.root.config(menu = menu)
    time = Menu(menu)
    self.newValue = 30000
    timeToRun = IntVar()
    self.timeToRun = timeToRun
    time.add_radiobutton(label = '1 minute', value = 60000, variable = timeToRun, command = self.setValue)
    time.add_radiobutton(label = '5 minutes', value = 300000, variable = timeToRun, command = self.setValue)
    time.add_radiobutton(label = '15 minutes', value = 900000, variable = timeToRun, command = self.setValue)
    time.add_radiobutton(label = '30 minutes', value = 1800000, variable = timeToRun, command = self.setValue)
    time.add_radiobutton(label = '45 minutes', value = 2700000, variable = timeToRun, command = self.setValue)
    time.add_radiobutton(label = '1 hour', value = 3600000, variable = timeToRun, command = self.setValue)
    time.add_radiobutton(label = '2 hours', value = 7200000, variable = timeToRun, command = self.setValue)
    time.add_radiobutton(label = '5 hours', value = 18000000, variable = timeToRun, command = self.setValue)

    menu.add_cascade(label='Time', menu = time)

    #checkbox
    targets = Menu(menu)
    valueTargets = StringVar()
    self.valueTargets = valueTargets
    menu.add_cascade(label='Targets', menu = targets)

    self.listOfSources = []

    for choice in self.listOfSources:
        targets.add_checkbutton(label = choice, variable = valueTargets, onvalue = choice, offvalue = choice, command = self.modTarget)

Буду признателен за любую помощь.

...