将光标放在python中的按钮上时显示文本

时间:2015-06-01 17:26:53

标签: python tkinter

当光标放在按钮上时,如何在窗口中显示文字。

我将下面的代码放在按钮上时#34; Ok"它必须显示文本为"在按Ok和#34;之前检查详细信息已填写。

mutating func add()

当光标放在标签l1上时,如果我写显示文本,相同的代码工作正常。当光标放在按钮上或有任何修改时,还有其他方法可以继续显示吗?

2 个答案:

答案 0 :(得分:3)

据我所知,Tk没有按钮工具提示的内置构造

在Qt(PyQt)中,这是另一个GUI框架,这是一个内置功能 - 例如:

displaypdf1.FilePath

向Tk添加此类功能有一些解决方法,但可能需要一些时间才能将它们直接实现到您的程序中

基本上你在模块中创建自己的类ToolTip()和一个函数来添加一个新的工具提示,addToolTip()

以下是执行此操作的两个参考: ref 1 ref 2

编辑:请注意,此处的ref1与Martineau在此问题的评论中链接的问题中接受的答案是相同的链接。

答案 1 :(得分:3)

如果我正确理解了这个问题,那么当鼠标悬停在不同的小部件上时,您希望能够显示不同的消息。最简单的解决方案是为包含消息的每个窗口小部件对象添加自定义属性,然后从绑定函数中的属性获取该消息。

例如:

class Example(...):
    def __init__(...):
        ...
        self.l1.description = "This is label 1"
        self.l2.description = "This is label 2"
        self.b1.description = "This is the OK button"

        for widget in (self.l1, self.l2, self.b1):
            widget.bind("<Enter>", self.on_enter)
            widget.bind("<Leave>", self.on_leave)
        ...

    def on_enter(self, event):
        description = getattr(event.widget, "description", "")
        self.l2.configure(text=description)