一意の変数を持つ複数 (この例では 2 つ) の ttk.Comboboxes を使用しようとしています。ボックスは、個々の変数を選択できるようにするのではなく、選択内容を同期しています。
メインファイルとインポートを使用して変数を保存しています:
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)を初期化すると、2つの別々のオブジェクトが作成されると思います。各コンボボックスには独自のテキスト変数があり、作成されたオブジェクトから [' 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() も試しましたが、どちらも機能しません!