我想为python GUI应用程序使用工具提示,但我不知道如何使用?

我想为python GUI应用程序使用工具提示,但我不知道如何使用?,python,python-3.x,tkinter,Python,Python 3.x,Tkinter,从技术上讲,我想说的是,当你运行程序并滚动程序中的某些内容时,它应该会显示一些内容 下面是一些可以试用的代码: 就像在本例中,当您滚动按钮时,它应该显示它是什么颜色 from tkinter import * root = Tk() one = Button(root, text="One", bg="red", fg="white") one.pack() two = Button(root, text="Two", bg="green", fg="black") two.pack(fil

从技术上讲,我想说的是,当你运行程序并滚动程序中的某些内容时,它应该会显示一些内容

下面是一些可以试用的代码: 就像在本例中,当您滚动按钮时,它应该显示它是什么颜色

from tkinter import *

root = Tk()

one = Button(root, text="One", bg="red", fg="white")
one.pack()
two = Button(root, text="Two", bg="green", fg="black")
two.pack(fill=X)
three = Button(root, text="Three", bg="blue", fg="white")
three.pack(side=LEFT, fill=Y)

root.mainloop()

我从你那里得到了答案。 来自for Tkinter的类可以提供帮助

有一个很好的解决方案

下面是我从博客中获取的工具提示类的代码

from Tkinter import *

class ToolTip(object):

def __init__(self, widget):
    self.widget = widget
    self.tipwindow = None
    self.id = None
    self.x = self.y = 0

def showtip(self, text):
    "Display text in tooltip window"
    self.text = text
    if self.tipwindow or not self.text:
        return
    x, y, cx, cy = self.widget.bbox("insert")
    x = x + self.widget.winfo_rootx() + 27
    y = y + cy + self.widget.winfo_rooty() +27
    self.tipwindow = tw = Toplevel(self.widget)
    tw.wm_overrideredirect(1)
    tw.wm_geometry("+%d+%d" % (x, y))
    try:
        # For Mac OS
        tw.tk.call("::tk::unsupported::MacWindowStyle",
                   "style", tw._w,
                   "help", "noActivates")
    except TclError:
        pass
    label = Label(tw, text=self.text, justify=LEFT,
                  background="#ffffe0", relief=SOLID, borderwidth=1,
                  font=("tahoma", "8", "normal"))
    label.pack(ipadx=1)

def hidetip(self):
    tw = self.tipwindow
    self.tipwindow = None
    if tw:
        tw.destroy()

def createToolTip(widget, text):
    toolTip = ToolTip(widget)
    def enter(event):
        toolTip.showtip(text)
    def leave(event):
        toolTip.hidetip()
    widget.bind('<Enter>', enter)
    widget.bind('<Leave>', leave)
从Tkinter导入*
类工具提示(对象):
定义初始化(自我,小部件):
self.widget=widget
self.tipwindow=无
self.id=None
self.x=self.y=0
def显示提示(自我,文本):
“在工具提示窗口中显示文本”
self.text=文本
如果self.tipwindow或非self.text:
返回
x、 y,cx,cy=self.widget.bbox(“插入”)
x=x+self.widget.winfo_rootx()+27
y=y+cy+self.widget.winfo_rooty()+27
self.tipwindow=tw=Toplevel(self.widget)
tw.wm_overrideredirect(1)
tw.wm_几何体(“++%d++%d”%(x,y))
尝试:
#适用于Mac OS
tw.tk.call(“::tk::unsupported::MacWindowsStyle”,
“风格”,tw.\w,
“帮助”,“不激活”)
除错误外:
通过
标签=标签(tw,text=self.text,justify=LEFT,
背景=“#ffffe0”,浮雕=实心,边框宽度=1,
字体=(“塔荷马”、“8”、“正常”))
标签包(ipadx=1)
def hidetip(自我):
tw=自我提示窗口
self.tipwindow=无
如果tw:
tw.destroy()
def createToolTip(小部件,文本):
工具提示=工具提示(小部件)
def enter(事件):
工具提示。显示提示(文本)
def休假(活动):
toolTip.hidetip()
widget.bind(“”,输入)
widget.bind(“”,左)