簡體   English   中英

Tkinter的“懸停”彈出窗口

[英]'hover over' popup with Tkinter

我已經使用Tkinter菜單小部件在python應用程序中實現了信息彈出窗口。 我在根窗口的畫布上有一個文本小部件。 我創建了一個菜單部件,其根為根。 當我檢測到鼠標懸停在文本窗口小部件上時,我使用menuWidget.post()發布了彈出菜單。 當我從文本窗口小部件收到請假事件時,我的意圖是通過調用menuWidget.unpost()使彈出窗口消失,只有在我單擊文本窗口小部件外部的其他位置時,彈出菜單才會消失。

首先,這是實現信息彈出窗口的明智方法嗎? 誰能告訴我為什么彈出菜單不會消失?

這不是執行信息彈出窗口的正確方法。 在Mac和Windows計算機上,菜單是本機控件。 因此, unpost命令不起作用,因為tk將控制權交給了系統事件循環以獲取特定於平台的行為。

您要使用的是設置了overrideredirect標志的頂級窗口。 這使您可以在任何需要的地方顯示無邊界窗口。 這樣做的好處是您不僅限於簡單的文本-您可以在頂層中放置任何內容-另一個文本小部件,畫布,按鈕等。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM