Python 3.x tkinter组合框同步['variables']

用户名

我正在尝试使用唯一变量的多个(此示例为两个)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),我将创建两个单独的对象。每个组合都有自己的text变量,并从创建的对象生成其['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(),但是都没有用!

布莱恩·奥克利(Bryan Oakley)

您不能使用普通变量作为textvariable属性的值您需要使用tkinter变量-通常是的实例StringVar有关更多信息,请参见http://effbot.org/tkinterbook/variable.htm

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Python 3.x Tkinter自动完成

来自分类Dev

Python 3.x Tkinter串行读取

来自分类Dev

python tkinter组合框/按钮

来自分类Dev

我如何使用tkinter(python 3)在for循环中为组合框赋予不同的变量名

来自分类Dev

如何在python中使用Tkinter制作3(或4)个嵌套的绑定组合框?

来自分类Dev

使用tkinter和python 3在笔记本的选项卡中创建唯一的组合框

来自分类Dev

python按钮组合以打开tkinter消息框

来自分类Dev

分级的组合框菜单Python Tkinter

来自分类Dev

python 3.x progressbar tkinter向后吗?

来自分类Dev

类继承问题。Tkinter。Python 3.x

来自分类Dev

tkinter 和 python3.x 按钮配置

来自分类Dev

如何让 Tkinter Python3.x 嵌套网格?

来自分类Dev

Python 3.x-创建数据框并指定列名

来自分类Dev

Python 3.x-创建数据框并指定列名

来自分类Dev

基于列表对 Python 3.x 数据框进行子集

来自分类Dev

来自Tkinter Python 3的输出框异常

来自分类Dev

Python 3 tkinter 列表框重置

来自分类Dev

在for循环中创建的组合框中的python tkinter参考

来自分类Dev

Python 3,置换,组合

来自分类Dev

Python 3.x Tkinter-无法获取复选框的变量值

来自分类Dev

Python 3.x Tkinter-无法获取复选框的变量值

来自分类Dev

如何在 tkinter (Python3.x) 中单击鼠标逐帧进行?

来自分类Dev

如何在组合框VBA中显示3列中的值(活动x控件)

来自分类Dev

Python:将熊猫3D数据框转换为X,Y,Z

来自分类Dev

Python 3.x:从两个字典创建数据框

来自分类Dev

在Python 3.x中卸载模块

来自分类Dev

Python 3.x龟极慢?

来自分类Dev

Python 3.x转换范围

来自分类Dev

使用Python 3.x的PyYAML