python - 我可以双击 tkinter 列表框选项来调用 Python 中的函数吗?

标签 python user-interface listbox tkinter double-click

我有一个带有关联“选择”按钮的列表框。我希望我的 GUI 双击任何列表框值都会调用此按钮的命令。 My attempt (below) works when an option is selected and the user double-clicks ANYWHERE in the window.我希望它仅在双击选择本身(蓝色突出显示的行)时起作用。

执行此操作的最佳方法是什么?

from tkinter import *

def func1():
    print("in func1")

def func2():
    print("in func2")

def selection():
    try:
        dictionary[listbox.selection_get()]()
    except:
        pass

root = Tk()

frame = Frame(root)
frame.pack()

dictionary = {"1":func1, "2":func2}

items = StringVar(value=tuple(sorted(dictionary.keys())))

listbox = Listbox(frame, listvariable=items, width=15, height=5)
listbox.grid(column=0, row=2, rowspan=6, sticky=("n", "w", "e", "s"))
listbox.focus()

selectButton = Button(frame, text='Select', underline = 0, command=selection)
selectButton.grid(column=2, row=4, sticky="e", padx=50, pady=50)

root.bind('<Double-1>', lambda x: selectButton.invoke())

root.mainloop()

最佳答案

root.bind(...) 更改为 listbox.bind(...)

关于python - 我可以双击 tkinter 列表框选项来调用 Python 中的函数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25088000/

相关文章:

python - tf.gradients : ValueError: Shapes must be equal rank, 但分别是 2 和 1

python - 使用 Bootstrap 选项卡将 JSON 数据从数据库显示到 django 模板

python - 使用 python 在 Rally 中创建新缺陷时出现错误

python - 无法在 pygame 中的屏幕上渲染文本

java - 如何使用 Java Swing 实现可拖动选项卡?

c# - Microsoft Visual C# 组合框/列表框

python - 如何使用python查找文本文件中的行数?

winforms - 界面测试工具?

python - 如何在 Tkinter 列表框中插入时添加自动滚动?

wpf - 为什么 Wpf Popup.IsOpen=true 从 ListBox 保持打开状态?