gpt4 book ai didi

python - 从 Tkinter 的组合框中获取选定的值

转载 作者:太空狗 更新时间:2023-10-30 00:55:07 26 4
gpt4 key购买 nike

我使用 Tkinter 在 python 中制作了一个简单的组合框,我想检索用户选择的值。搜索后,我想我可以通过绑定(bind)一个选择事件并调用一个将使用类似 box.get() 的函数来实现,但这不起作用。当程序启动时,该方法会自动调用,并且不会打印当前选择。当我从组合框中选择任何项目时,不会调用任何方法。这是我的代码片段:

    self.box_value = StringVar()
self.locationBox = Combobox(self.master, textvariable=self.box_value)
self.locationBox.bind("<<ComboboxSelected>>", self.justamethod())
self.locationBox['values'] = ('one', 'two', 'three')
self.locationBox.current(0)

这是当我从框中选择一个项目时应该调用的方法:

def justamethod (self):
print("method is called")
print (self.locationBox.get())

谁能告诉我如何获得选定的值?

编辑:我已按照 James Kent 的建议,通过在将框绑定(bind)到函数时删除括号来更正对 justamethod 的调用。但是现在我收到了这个错误:

TypeError: justamethod() 恰好接受 1 个参数(给定 2 个)

编辑 2:我已经发布了这个问题的解决方案。

谢谢。

最佳答案

我已经找出代码中的问题所在。

首先,正如 James 所说,在将 justamethod 绑定(bind)到组合框时应删除括号。

其次,关于类型错误,这是因为justamethod是一个事件处理器,所以它应该带两个参数,self和event,像这样,

def justamethod (self, event): 

进行这些更改后,代码运行良好。

关于python - 从 Tkinter 的组合框中获取选定的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31264522/

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