亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

python tkinter實現(xiàn)鼠標懸停提示

 更新時間:2024年11月27日 10:03:14   作者:抬眼已是半生  
這篇文章主要為大家詳細介紹了python如何使用tkinter控件實現(xiàn)鼠標懸停提示以及提示文本動態(tài)展示,文中的示例代碼講解詳細,有需要的可以參考下

展示效果

全部代碼和使用示例

#  _*_ coding:utf-8 _*_
import tkinter as tk
import pyautogui


screen_width, screen_height = pyautogui.size()


class WidgetTip:
    """鼠標懸停提示"""
    def __init__(self, widget, text):
        self.widget = widget
        self.text = text
        self.tips_alpha = 1
        self.tooltip = tk.StringVar()
        self.tip_pos = 5
        # 消息體
        self.tooltip_window = tk.Toplevel()
        self.init_tips()
        # 綁定鼠標事件
        self.widget.bind("<Enter>", self.enter)
        self.widget.bind("<Motion>", self.move)
        self.widget.bind("<Leave>", self.leave)

    def init_tips(self):
        """初始化消息框"""
        self.tooltip_window.attributes("-alpha", 0)
        self.tooltip_window.attributes("-toolwindow", 1)
        self.tooltip_window.wm_overrideredirect(True)
        self.tooltip_window.attributes('-topmost', 100)
        pad_x = 20      # 內邊距 x
        tk.Label(self.tooltip_window,
                 textvariable=self.tooltip,
                 background="#ffffff",
                 justify=tk.LEFT,
                 relief="solid",
                 borderwidth=0,
                 wraplength=screen_width - pad_x,
                 padx=pad_x, pady=10).pack()

    def enter(self, event=None):
        self.tooltip_window.lift()
        if isinstance(self.text, (tk.StringVar, tk.IntVar, tk.BooleanVar, tk.DoubleVar)):
            tips_text = str(self.text.get())
        else:
            tips_text = str(self.text)
        self.tooltip.set(tips_text)
        self.set_tooltip_window_geometry(event)
        self.tooltip_window.attributes("-alpha", self.tips_alpha)

    def move(self, event=None):
        self.set_tooltip_window_geometry(event)

    def leave(self, event=None):
        self.tooltip_window.attributes("-alpha", 0)
        self.set_tooltip_window_geometry(event)

    def set_tooltip_window_geometry(self, event):
        cost_length = event.x_root + self.tip_pos + self.tooltip_window.winfo_width() - screen_width
        if cost_length < 0:
            cost_length = 0
        self.tooltip_window.geometry("+%d+%d" % (event.x_root + self.tip_pos - cost_length, event.y_root + self.tip_pos))


# 創(chuàng)建主窗口
root = tk.Tk()
root.title("鼠標懸停提示")

var_str = tk.StringVar()

# 創(chuàng)建一個按鈕并添加 Tooltip
button = tk.Button(root, text="鼠標放這")
button.pack(pady=20)

var_str.set('動態(tài)文本按鈕')

button2 = tk.Button(root, text=var_str.get())
button2.pack(pady=20)

var_str.set('這是一條動態(tài)文本提示語')

WidgetTip(button, "這是一條提示鼠標懸停提示信息")
WidgetTip(button2, var_str)


# 運行主循環(huán)
root.mainloop()

到此這篇關于python tkinter實現(xiàn)鼠標懸停提示的文章就介紹到這了,更多相關python鼠標懸停內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • python通過pil將圖片轉換成黑白效果的方法

    python通過pil將圖片轉換成黑白效果的方法

    這篇文章主要介紹了python通過pil將圖片轉換成黑白效果的方法,實例分析了Python中pil庫的使用技巧,需要的朋友可以參考下
    2015-03-03
  • python實現(xiàn)推箱子游戲

    python實現(xiàn)推箱子游戲

    這篇文章主要為大家詳細介紹了python實現(xiàn)推箱子游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-11-11
  • python人工智能算法之人工神經網絡

    python人工智能算法之人工神經網絡

    這篇文章主要為大家介紹了python人工智能算法之人工神經網絡示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-03-03
  • Python3.4 tkinter,PIL圖片轉換

    Python3.4 tkinter,PIL圖片轉換

    我們給大家整理了關于Python3.4 tkinter,PIL圖片轉換的相關完整代碼,大家可以學習測試下。
    2018-06-06
  • python代碼實現(xiàn)學生信息管理系統(tǒng)

    python代碼實現(xiàn)學生信息管理系統(tǒng)

    這篇文章主要為大家詳細介紹了python代碼實現(xiàn)學生信息管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • Python工程師必考的6個經典面試題

    Python工程師必考的6個經典面試題

    在本篇文章里小編給大家分享的是一篇關于6個Python工程師必考的面試題,有需要的朋友們可以參考學習下。
    2020-06-06
  • Python+Turtle實現(xiàn)繪制勾股樹

    Python+Turtle實現(xiàn)繪制勾股樹

    畢達哥拉斯樹,也叫“勾股樹”,是由畢達哥拉斯根據(jù)勾股定理所畫出來的一個可以無限重復的樹形圖形。本文將利用Python中的Turtle庫實現(xiàn)勾股樹的繪制,感興趣的可以了解一下
    2023-01-01
  • python爬蟲實戰(zhàn)之爬取京東商城實例教程

    python爬蟲實戰(zhàn)之爬取京東商城實例教程

    這篇文章主要介紹了python爬取京東商城的相關資料,文中通過爬取一個實例頁面進行了講解,通過示例代碼和圖文介紹的非常詳細,相信對大家具有一定的參考價值,需要的朋友們下面來一起學習學習吧。
    2017-04-04
  • python批量修改文件名的實現(xiàn)代碼

    python批量修改文件名的實現(xiàn)代碼

    這篇文章主要介紹了python批量修改文件名的實現(xiàn)代碼,需要的朋友可以參考下
    2014-09-09
  • 對python創(chuàng)建及引用動態(tài)變量名的示例講解

    對python創(chuàng)建及引用動態(tài)變量名的示例講解

    今天小編就為大家分享一篇對python創(chuàng)建及引用動態(tài)變量名的示例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-11-11

最新評論