Python 绑定到tkinter中的列表框不会';我好像不工作
我试图将列表框中的项目绑定到1号鼠标按钮,这样当我按下它时,它会打印“hi”。然而,每当我尝试这样做的代码根本不会工作。当我启动程序时,无论我点击多少次鼠标按钮,它都会打印一次“hi”,然后再也不会打印。有什么建议吗?谢谢Python 绑定到tkinter中的列表框不会';我好像不工作,python,python-3.x,tkinter,Python,Python 3.x,Tkinter,我试图将列表框中的项目绑定到1号鼠标按钮,这样当我按下它时,它会打印“hi”。然而,每当我尝试这样做的代码根本不会工作。当我启动程序时,无论我点击多少次鼠标按钮,它都会打印一次“hi”,然后再也不会打印。有什么建议吗?谢谢 from tkinter import * class Applikation(Frame): def __init__(self, master):
from tkinter import *
class Applikation(Frame):
def __init__(self, master):
Frame.__init__(self,master)
self.master=master
self.rssList = Listbox(self.master, height=30, width=50)
self.rssList.grid(row=1, column=0, rowspan=4, padx=10, pady=20)
self.rssList.bind("<Button-1>", print("hi"))
rssReader = Tk()
rssReader.title("Rss reader")
rssReader.resizable(10, 10)
app = Applikation(rssReader).grid()
rssReader.mainloop()
从tkinter导入*
类别应用(框架):
定义初始(自我,主):
帧。\uuuu初始化(自,主)
self.master=master
self.rssList=Listbox(self.master,高度=30,宽度=50)
self.rssList.grid(行=1,列=0,行跨度=4,padx=10,pady=20)
self.rssList.bind(“,print(“hi”))
rssReader=Tk()
rssReader.title(“Rss阅读器”)
rssReader.可调整大小(10,10)
app=Applikation(rssReader).grid()
rssReader.mainloop()
绑定到
时,需要将命令作为引用传递,而不使用()
您可以通过定义一个单独的函数:
class Applikation(Frame):
def __init__(self, master):
...
self.rssList.bind("<Button-1>", self.print_hi)
def print_hi(self,event):
print ("hi")
self.rssList.bind("<Button-1>", lambda e: print("Hi"))
绑定到
时,需要将命令作为引用传递,而不使用()
您可以通过定义一个单独的函数:
class Applikation(Frame):
def __init__(self, master):
...
self.rssList.bind("<Button-1>", self.print_hi)
def print_hi(self,event):
print ("hi")
self.rssList.bind("<Button-1>", lambda e: print("Hi"))
函数的作用是:打印到控制台,而不是GUI
我解决这个问题的方法是为Applikation类创建一个新方法,并在rssList.bind中调用它
意思是:
class Applikation(Frame):
def __init__(self, master):
#everything else here is fine
self.rssList.bind("<Button-1>", self.say_hi)
def say_hi(self, default=None):
self.rssList.insert(END, "Hi")
#Keep everything else here the same
类应用(框架):
定义初始(自我,主):
#这里的其他一切都很好
self.rssList.bind(“,self.say\u hi)
def say_hi(自身,默认值=无):
self.rssList.insert(结束,“Hi”)
#这里的一切都一样
print()函数仅打印到控制台,而不是GUI
我解决这个问题的方法是为Applikation类创建一个新方法,并在rssList.bind中调用它
意思是:
class Applikation(Frame):
def __init__(self, master):
#everything else here is fine
self.rssList.bind("<Button-1>", self.say_hi)
def say_hi(self, default=None):
self.rssList.insert(END, "Hi")
#Keep everything else here the same
类应用(框架):
定义初始(自我,主):
#这里的其他一切都很好
self.rssList.bind(“,self.say\u hi)
def say_hi(自身,默认值=无):
self.rssList.insert(结束,“Hi”)
#这里的一切都一样
谢谢!让人难堪的是,我花了多长时间试图修复它却没有取得任何进展,也许我只是因为查找它没有帮助,再次感谢!非常感谢。让人难堪的是,我花了多长时间试图修复它却没有取得任何进展,也许我只是因为查找它没有帮助,再次感谢!