当前位置: 首页 > 面试题库 >

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

虞展
2023-03-14
问题内容

我使用Tkinter在python中制作了一个简单的组合框,我想检索用户选择的值。搜索后,我认为可以通过绑定选择事件并调用将使用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建议的函数时去掉了括号,更正了对justamethod的调用。但是现在我得到了这个错误:

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

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

谢谢。


问题答案:

我已经弄清楚代码中有什么问题。

首先,正如James所说的,将Justamethod绑定到组合框时应除去括号。

其次,关于类型错误,这是因为justamethod是事件处理程序,因此应采用两个参数,self和event,如下所示:

def justamethod (self, event):

进行这些更改后,代码可以正常运行。



 类似资料:
  • 我的表单上有2个组合框(在表单加载事件中)。第一个组合框在表单加载后从选择语句中获取一个值。我想在我的第二个组合框中使用该值。这是我的代码: 1st组合框= cbDelivery 2de组合框= cbOrderNo 此组合框位于: private void CB delivery _ selectedindex changed(对象发送方,事件参数e) 因此,一旦我从1ste组合框中选择一个值,我

  • 问题内容: 我希望能够从突出显示的文本部分中获取字符串,我该如何处理? 问题答案: 对于或小部件,您可以使用: 从Python控制台的Entry和Text小部件中获取选定文本的交互式示例: 根据布莱恩·奥克利(Bryan Oakley)的评论: 是可用于所有小部件的通用小部件方法。它并不 总是 从“文本”小部件中获取选定的字符串。可以,但不能保证。它所做的就是得到所谓的“ X”选择(来自tk的X1

  • 假设我有以下html代码: 这是一个组合框 当前已选择值MyDivision。 使用Selenium WebDriver我试图获得选定的值,但没有成功。 我尝试了: 但这会返回组合框中的所有值。 请帮忙? 编辑:

  • 问题内容: 所以我有这些复选框: 等等。它们大约有6个,并且都是手工编码的(即未从数据库中获取),因此它们可能会保持一段时间不变。 我的问题是如何将它们全部放入数组中(使用javascript),以便在使用Jquery 进行AJAX 请求时可以使用它们。 有什么想法吗? 编辑:我只希望将选中的复选框添加到数组 问题答案: 格式化: 希望它会起作用。

  • 我有一个网页渲染使用extjs。它用一些生成的ID呈现多个组合框。和每个组合框都选择了不同的选项。我怎样才能找出在每个组合中选择了哪个值? 在调试HTML DOM时,我观察到ExtJS呈现DIV是不同的,可选择的选项在最后呈现在不同的DIV中。因此,我无法定义任何XPath来找出所选值。

  • 问题内容: 我需要获取Swing中组合框的整数值。 我已经为combobox设置了一个整数值作为id。我尝试了combobox.getSelectedItem()和combobox.getSelectedIndex(),但是它无法获取int值。 下面是我的代码: 任何帮助表示赞赏。 问题答案: 方法返回一个按类型包装的值,因此您必须进行相应的转换。 句法: