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

标签 python tkinter

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

我有以下代码,当将光标放在“确定”按钮上时,它必须将文本显示为“在按确定之前检查已填写的详细信息”。

import Tkinter

class Example(Tkinter.Frame):
    def __init__(self, *args, **kwargs):
        Tkinter.Frame.__init__(self, *args, **kwargs)
        self.l1 = Tkinter.Label(self, text="Enter name")
        self.l2 = Tkinter.Label(self, text="", width=40)
        self.l1.pack(side="top")
        self.l2.pack(side="top", fill="x")

        self.b1 = Tkinter.Button(root, text="Ok")
        self.b1.bind("<Enter>", self.on_enter)
        self.b1.bind("<Leave>", self.on_leave)
        self.b1.pack()       

    def on_enter(self, event):
        self.l2.configure(text="Check details filled before pressing Ok")

    def on_leave(self, enter):
        self.l2.configure(text="")

if __name__ == "__main__":
    root = Tkinter.Tk()
    Example(root).pack(side="top", fill="both", expand="true")
    root.mainloop()

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

最佳答案

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

例如:

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)

关于python - 当光标放在python中的按钮上时显示文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30579561/

相关文章:

python - 取消方法 tkinter 之后

python - 从 GStreamer 在 Tkinter 中输出视频?

python - 如何使用 Robot Framework 从测试套件运行特定的测试用例

python - 如何使用 matplotlib 重新缩放子图中的绘图

python - 类型错误 : leftClick() missing 1 required positional argument: 'password'

python - 如何使用 Python 打开新的 bash 终端

python-3.x - 使用 tkinter 时在 Google Colab 中设置 $DISPLAY 环境变量

python - PyQt5 - 单击菜单选项后在 MDI 区域中打开小部件

用于 Beta 发行版的 R fitdistr : which starting parameters?

Python 查找一个列表中不在另一个列表中的元素的索引