2016-11-05 129 views
0

我根本不知道从哪里开始,所以我没有任何代码。有没有人知道当您将鼠标悬停在某个按钮或任何窗口小部件上时,会出现一种描述方式?Python Tkinter - 如何使按钮弹出一个按钮

+1

*“我根本不知道从哪里开始”* - 那么你还没有准备好在这里提出问题。 – jonrsharpe

回答

0
def button_description(button, text, self): 
    event = None 
    self.del_search_description = lambda event=event: del_search_description(self) 
    self.search_description = lambda event=event: search_description_delay(self, text, button) 
    button.bind("<Enter>", self.search_description) 
    button.bind("<Leave>", self.del_search_description) 
def del_search_description(self, event=None): 
    try: 
     self.search_description_top.destroy() 
    except AttributeError: 
     pass 
    return event 
def search_description_delay(self, text, button, event=None): 
    button.after(500 , search_description(self, text, button ,event)) 
def search_description(self, text, button, event=None): 
    self.search_description_top = Toplevel() 
    self.search_description_top.wm_overrideredirect(True) 
    self.search_description_top_label = Label(self.search_description_top, 
              text=text, 
              justify=LEFT, background="gold", 
              relief=SOLID, borderwidth=1, font='50') 
    self.search_description_top_label.grid(row=0, column=0) 
    x = button.winfo_rootx() - int(len(
    self.search_description_top_label.cget("text")) * 3.5) + int(button.winfo_width()/2) 
    y = button.winfo_rooty() + 25 
    self.search_description_top.geometry("+%s+%s" % (x, y)) 
    return event 

调用button_description功能,并提供了按钮,或其他部件,把上述说明的文字,并在你的Tkinter的代码运行类(字通自我,如果你是所在班级内你的代码是)