【问题标题】:How to make a dynamic tooltip with Tkinter?如何使用 Tkinter 制作动态工具提示?
【发布时间】:2018-06-25 00:13:19
【问题描述】:

我最近开始使用 Tkinter 为我的 Python 代码创建图形界面。在我的表格上,我使用。至少有 1 个文本字段,即 Tkinter.Entry 的一个实例。它的长度并不总是足以显示整个文本,因此我希望显示带有完整文本的工具提示。

用户可以更新文本字段,然后工具提示当然应该显示更新的文本。这就是我所说的动态工具提示。我已经看到问题What is the simplest way to make tooltips in Tkinter? 有几个答案 - 例如来自 crxguy52 的一个不错的工具 - 但这些工具提示似乎都不是动态的。任何人都可以建议做什么,以安排动态工具提示吗?

【问题讨论】:

    标签: python dynamic tkinter tooltip


    【解决方案1】:

    我已经使用了crxguy52code。在方法 __init__ 的接口中提到了一个小部件。就我而言,这是 Tkinter.Entry 控件。在 showtip 方法中,我替换了这一行:

    label = tk.Label(self.tw, text=self.text, justify='left', 
            background="#ffffff", relief='solid', borderwidth=1,
            wraplength = self.wraplength)
    

    与:

    label = tk.Label(self.tw, text=self.widget.get(), justify='left',
            background="#ffffff", relief='solid', borderwidth=1,
            wraplength = self.wraplength)
    

    现在显示的工具提示已变为动态 ;-)

    【讨论】:

      【解决方案2】:

      使用您链接的问题中的answer,将工具提示引用存储在您的对象中,并通过“文本”设置器扩展@crxguy52 提供的类。

      示例代码:

      class CreateToolTip(object):
          """ class from crxguy52 """
          # ...
          # implementation like crxguy showed
          # ...
          def set_text(self, new_text):
              self.text=new_text
      

      然后就可以动态使用tooltip.set_text("this is the new text to show")了。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多