2013-09-16 41 views
1

我想擁有多個(本例爲兩個)ttk.Comboboxes與唯一變量。這些框正在同步我的選擇,而不是讓我選擇單個變量。Python 3.x tkinter組合框同步['變量']

我使用的是主文件,並導入到存儲變量:

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都有自己的文本變量,並從創建的對象中生成['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()但都沒有工作!

回答