Я пытаюсь иметь несколько (два для этого примера) ttk.Comboboxes с уникальными переменными. Ящики синхронизируют мой выбор, а не позволяют мне выбирать отдельные переменные.Python 3.x tkinter comboboxes syncing ['variables']
Я использую основной файл и импорт для хранения переменной:
list.py (переменные)
class object():
def __init__(self, name):
self.name = name
self.list = ['a','b','c']
main.py (программа):
from tkinter import *
from tkinter import ttk
import list
root = Tk()
aList = list.object('aName')
bList = list.object('bName')
aVariable = aList.list
aCombobox = ttk.Combobox(root, textvariable=aVariable)
aCombobox['values'] = aList.list
aCombobox.grid()
bVariable = bList.list
bCombobox = ttk.Combobox(root, textvariable=bList.list)
bCombobox['values'] = bList.list
bCombobox.grid()
root.mainloop()
импортировать переменные (как модуль/класс) и инициализировать каждый (aList и bList). Я полагаю, что woul d создать два отдельных объекта. Каждый Combobox имеет свой собственный textvariable и генерирует его ['valuse'] из созданных объектов. Однако это не работает - они продолжают синхронизацию.
Я был в состоянии заставить его работать в интерактивном режиме, а также приложения CLI:
list.py (такой же импорт, как описано выше)
main.py (как консоль - не Tkinter)
import list
a = list.object('list')
b = list.object('list')
print(a.list, b.list)
b.list.pop()
print(a.list, b.list)
input()
Я также пробовал copy.copy() и copy.deepcopy(), но ни работы!