gpt4 book ai didi

Python3 tkinter 组合框默认值

转载 作者:太空宇宙 更新时间:2023-11-04 10:12:08 27 4
gpt4 key购买 nike

我知道这已经被问过很多次了,但我仍然无法让我的代码工作...

我试图让 7 个下拉列表显示在屏幕上,并为每个下拉列表选择默认值。我可以让框自己显示,当您下拉每个框时,我定义的值都在列表中,但是当我的 gui 加载时,我无法让它们默认使用任何值。我读了一些关于垃圾收集是一个问题的帖子,所以我遵循了该海报关于将其放置在类里面的建议。就是这个……

class DropDown(object):
def __init__(self, parent):
self.parent = parent

def tapoptions(self):
self.box_value = StringVar()
self.box = ttk.Combobox(self.parent, textvariable=self.box_value, state="readonly")
self.box['values'] = ('Empty','Jack','Coke','Tonic')
self.box.current(1)

这一切都包含在一个多帧窗口中,我是从网上的某个来源复制的(我现在不记得是从哪里复制的),所以我不知道这是否阻碍了我在这里的进步。如果我需要添加更多我可以添加的代码,但这里是我的 DropDown 被调用的地方......

class OnTap(tk.Frame):
def __init__(self, parent, controller):
tk.Frame.__init__(self, parent)

body = tk.Frame(self)
body.grid(row=1, column=1, sticky="ew")
tappos = [0 for x in range(7)]
for a in range(7):
l = ttk.Label(body, text="Bottle "+str(a+1)+": ")
l.grid(row=a+1, column=0)
tappos[a] = DropDown(body)
tappos[a].tapoptions()
tappos[a].box.grid(row=a+1, column=1)

有时我会把它链接到一个数据库,所以当你加载它时,它会告诉你每个位置的瓶子是什么,但现在,我只想让它显示“Jack”当您转到该页面时在每个插槽中,而不是我现在的 [空白]。

我不是一般的编程菜鸟,但在 OOP 方面我是菜鸟。

此外,我在这里重写了这个,所以如果您认为可能是问题的拼写错误,请告诉我,但也有可能我只是将其转录错误,并在此处介绍,而不是在我的实际代码。

最佳答案

你自己说的,“垃圾收集”。因此,不要使用 tappos,而是使用 self.tappos

#tappos = [0 for x in range(7)]
self.tappos = [0 for x in range(7)]
...
#tappos[a] = DropDown(root)
self.tappos[a] = DropDown(root) # And so on. You get the picture.
...

关于Python3 tkinter 组合框默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37645965/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com