classification
Title: Tooltip not display with macOS 64-bit installer 3.6.5 but work with macOS 64-bit/32-bit installer
Type: behavior Stage: resolved
Components: IDLE, macOS, Tkinter Versions: Python 3.8, Python 3.7, Python 3.6, Python 2.7
process
Status: closed Resolution: third party
Dependencies: Superseder:
Assigned To: terry.reedy Nosy List: louis-martin, ned.deily, rhettinger, ronaldoussoren, terry.reedy, wordtech
Priority: normal Keywords:

Created on 2018-04-08 18:19 by louis-martin, last changed 2018-05-05 18:05 by terry.reedy. This issue is now closed.

Messages (4)
msg315089 - (view) Author: Louis Martin (louis-martin) Date: 2018-04-08 18:21
Tested with :

from appJar import gui

with gui() as app:
    app.label('hello world', tip="help me")
    app.addLabel("l1", "text")
    app.setLabelTooltip("l1", "more help")
msg315093 - (view) Author: Ned Deily (ned.deily) * (Python committer) Date: 2018-04-08 20:00
I don't know anything about appJar (looks interesting!) but any issue like this is almost certainly a Tk issue, since Python's tkinter provides a fairly lightweight wrapper around calls to Tk.

As far as I can tell from a quick test, it appears that the difference here is due to some change in the macOS Cocoa Tk behavior in more recent versions.  As documented, the python.org 3.6.5 macOS 64-bit-only Python uses its own Tcl/Tk 8.6.8 while the 64-bit/32-bit installer continues to link with an external Tcl/Tk 8.5.x version. For that variant, the system looks first in /Library/Frameworks for third-party Tcl and Tk 8.5.x frameworks, such as the recommended ActiveTcl version (https://www.python.org/download/mac/tcltk/) and, if none found there, falls back to the Apple-supplied Tcl/Tk 8.5 frameworks in /System/Library/Frameworks.  With the recommended ActiveState 8.5.18 Tcl/Tk version installed, the tooltips also do not appear just like with the 64-bit-only 8.6.8 version.  Falling back to the old, buggy Apple-supplied 8.5.9 versions, the tooltips do appear, which I assume is what is happening on your system.  I was also able to test with an X11 Tk 8.6.8 on macOS and there the tooltips *do* work.  So, it appears that somewhere between Tk 8.5.9 and 8.5.18, the behavior of tooltips in Tk's macOS Aqua Cocoa implementation has changed. Suggest you pursue this on the Tcl/Tk project's Tk issue tracker (https://core.tcl.tk/tk/ticket) and/or its tcl-mac mailing list (https://sourceforge.net/p/tcl/mailman/tcl-mac/).  It might help to have a pure Tcl test case.  Good luck!  (Nosying: Kevin Walzer from the Tk project as a heads up.)
msg316220 - (view) Author: Terry J. Reedy (terry.reedy) * (Python committer) Date: 2018-05-05 18:02
This affects the popup tool tip in IDLE also.  Raymond, am I correct in thinking that the labels appearing in dialogs (Preferences, Search) still work?

A IDLE tool tip is a Toplevel.  Its parent is a Text widget.  It contains a non-blank Label widget. It is normally positioned on the lines below, with the left edge under the opening '('.  IDLE also does the following, where tw is the python Toplevel instance (tooltip window) and tw._w its tk counterpart.

try:
    # This command is only needed and available on Tk >= 8.4.0 for OSX
    # Without it, call tips intrude on the typing process by grabbing
    # the focus.
    tw.tk.call("::tk::unsupported::MacWindowStyle", "style", tw._w,
               "help", "noActivates")
except TclError:
    pass

To determine whether the popup is entirely missing or just the label, this might work.  Enter the following in an IDLE editor.

range
0123456789abcdef...
0123456789abcdef...

Go back up and enter '(' after 'range'.  A blank box should obscure '5' and to the right.
msg316221 - (view) Author: Terry J. Reedy (terry.reedy) * (Python committer) Date: 2018-05-05 18:05
#33429, now closed, is Raymond's report about IDLE tooltips not working in 2.7.15, released earlier this week, after working in 2.7.14.
History
Date User Action Args
2018-05-05 18:05:06terry.reedysetmessages: + msg316221
2018-05-05 18:02:20terry.reedysetassignee: terry.reedy
type: behavior
components: + IDLE, macOS
versions: + Python 2.7, Python 3.7, Python 3.8
nosy: + rhettinger, terry.reedy, ronaldoussoren

messages: + msg316220
2018-05-05 12:03:06ned.deilylinkissue33429 superseder
2018-04-08 20:00:31ned.deilysetstatus: open -> closed

nosy: + wordtech
messages: + msg315093

resolution: third party
stage: resolved
2018-04-08 19:09:11ned.deilysetnosy: + ned.deily
2018-04-08 18:21:30louis-martinsetmessages: + msg315089
2018-04-08 18:19:34louis-martincreate