<small id='7lVXe'></small><noframes id='7lVXe'>

      <tfoot id='7lVXe'></tfoot>
      <legend id='7lVXe'><style id='7lVXe'><dir id='7lVXe'><q id='7lVXe'></q></dir></style></legend>
      • <bdo id='7lVXe'></bdo><ul id='7lVXe'></ul>

    1. <i id='7lVXe'><tr id='7lVXe'><dt id='7lVXe'><q id='7lVXe'><span id='7lVXe'><b id='7lVXe'><form id='7lVXe'><ins id='7lVXe'></ins><ul id='7lVXe'></ul><sub id='7lVXe'></sub></form><legend id='7lVXe'></legend><bdo id='7lVXe'><pre id='7lVXe'><center id='7lVXe'></center></pre></bdo></b><th id='7lVXe'></th></span></q></dt></tr></i><div id='7lVXe'><tfoot id='7lVXe'></tfoot><dl id='7lVXe'><fieldset id='7lVXe'></fieldset></dl></div>
    2. 如何使用 Kivy 制作工具提示?

      How to make ToolTip using Kivy?(如何使用 Kivy 制作工具提示?)
        • <i id='IcOhr'><tr id='IcOhr'><dt id='IcOhr'><q id='IcOhr'><span id='IcOhr'><b id='IcOhr'><form id='IcOhr'><ins id='IcOhr'></ins><ul id='IcOhr'></ul><sub id='IcOhr'></sub></form><legend id='IcOhr'></legend><bdo id='IcOhr'><pre id='IcOhr'><center id='IcOhr'></center></pre></bdo></b><th id='IcOhr'></th></span></q></dt></tr></i><div id='IcOhr'><tfoot id='IcOhr'></tfoot><dl id='IcOhr'><fieldset id='IcOhr'></fieldset></dl></div>

              <tbody id='IcOhr'></tbody>
            <tfoot id='IcOhr'></tfoot>

            <small id='IcOhr'></small><noframes id='IcOhr'>

              <bdo id='IcOhr'></bdo><ul id='IcOhr'></ul>
            • <legend id='IcOhr'><style id='IcOhr'><dir id='IcOhr'><q id='IcOhr'></q></dir></style></legend>
              • 本文介绍了如何使用 Kivy 制作工具提示?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

                问题描述

                当鼠标指针悬停在 ActionBar 中的图标上时,我希望在 Qt 中看到工具提示.
                是的,我可以使用 mode='spinner',但图标更好.

                I want to see tooltip as in Qt when the mouse pointer is hovering over icon in ActionBar.
                Yes, I can use mode='spinner', but icons are nicer.

                推荐答案

                一个可以改进和扩展的简单示例:

                A simple example you can improve and extend:

                from kivy.app import App
                from kivy.lang import Builder
                from kivy.uix.widget import Widget
                from kivy.core.window import Window
                from kivy.uix.actionbar import ActionButton
                from kivy.uix.label import Label
                from kivy.clock import Clock
                
                Builder.load_string("""
                <Tooltip>:
                    size_hint: None, None
                    size: self.texture_size[0]+5, self.texture_size[1]+5
                    canvas.before:
                        Color:
                            rgb: 0.2, 0.2, 0.2
                        Rectangle:
                            size: self.size
                            pos: self.pos
                
                <MyWidget>
                    ActionBar:
                        ActionView:
                            MyActionButton:
                                icon: 'atlas://data/images/defaulttheme/audio-volume-high'
                            MyActionButton:
                                icon: 'atlas://data/images/defaulttheme/audio-volume-high'                
                """)
                
                class Tooltip(Label):
                    pass
                
                class MyActionButton(ActionButton):
                    tooltip = Tooltip(text='Hello world')
                
                    def __init__(self, **kwargs):
                        Window.bind(mouse_pos=self.on_mouse_pos)
                        super(ActionButton, self).__init__(**kwargs)
                
                    def on_mouse_pos(self, *args):
                        if not self.get_root_window():
                            return
                        pos = args[1]
                        self.tooltip.pos = pos
                        Clock.unschedule(self.display_tooltip) # cancel scheduled event since I moved the cursor
                        self.close_tooltip() # close if it's opened
                        if self.collide_point(*self.to_widget(*pos)):
                            Clock.schedule_once(self.display_tooltip, 1)
                
                    def close_tooltip(self, *args):
                        Window.remove_widget(self.tooltip)
                
                    def display_tooltip(self, *args):
                        Window.add_widget(self.tooltip)
                
                
                class MyWidget(Widget):
                    pass
                
                class ClientApp(App):
                    def build(self):
                        return MyWidget()
                
                if __name__ == '__main__':
                    ClientApp().run()
                

                首先我将 on_mouse_pos 方法绑定到 Window.mouse_pos 事件,以便我可以检测鼠标光标何时悬停在我的 ActionButton 子类上.这是基于这个片段.然后,如果我不移动光标,我会使用 Clock.schedule_once() 安排一个动作,以使我的工具箱可见.为了显示,我只是将 Label 的子类添加到小部件堆栈中.您可以用更复杂的方法替换 display_tooltip()close_tooltip() 方法.

                First I bind on_mouse_pos method to Window.mouse_pos event so I can detect when the mouse cursor hovers over my subclass of ActionButton. This is based on this snippet. Then I shedule an action with Clock.schedule_once() to make my toolbox visible if I won't move my cursor. To display I'm just adding a subclass of Label to the stack of widgets. You can replace display_tooltip() and close_tooltip() methods with more sophisticated ones.

                将代码相应地更新为 this answer

                这篇关于如何使用 Kivy 制作工具提示?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!

                【网站声明】本站部分内容来源于互联网,旨在帮助大家更快的解决问题,如果有图片或者内容侵犯了您的权益,请联系我们删除处理,感谢您的支持!

                相关文档推荐

                How to make a discord bot that gives roles in Python?(如何制作一个在 Python 中提供角色的不和谐机器人?)
                Discord bot isn#39;t responding to commands(Discord 机器人没有响应命令)
                Can you Get the quot;About mequot; feature on Discord bot#39;s? (Discord.py)(你能得到“关于我吗?Discord 机器人的功能?(不和谐.py))
                message.channel.id Discord PY(message.channel.id Discord PY)
                How do I host my discord.py bot on heroku?(如何在 heroku 上托管我的 discord.py 机器人?)
                discord.py - Automaticaly Change an Role Color(discord.py - 自动更改角色颜色)
                  <tbody id='JEKwc'></tbody>
                <i id='JEKwc'><tr id='JEKwc'><dt id='JEKwc'><q id='JEKwc'><span id='JEKwc'><b id='JEKwc'><form id='JEKwc'><ins id='JEKwc'></ins><ul id='JEKwc'></ul><sub id='JEKwc'></sub></form><legend id='JEKwc'></legend><bdo id='JEKwc'><pre id='JEKwc'><center id='JEKwc'></center></pre></bdo></b><th id='JEKwc'></th></span></q></dt></tr></i><div id='JEKwc'><tfoot id='JEKwc'></tfoot><dl id='JEKwc'><fieldset id='JEKwc'></fieldset></dl></div>

                  • <small id='JEKwc'></small><noframes id='JEKwc'>

                      <tfoot id='JEKwc'></tfoot>

                        <legend id='JEKwc'><style id='JEKwc'><dir id='JEKwc'><q id='JEKwc'></q></dir></style></legend>

                        • <bdo id='JEKwc'></bdo><ul id='JEKwc'></ul>