On 1/5/2017 12:11 AM, Deborah Swanson wrote:
Terry Reedy wrote, on January 04, 2017 3:58 PM
To have a string interpreted as a clickable link, you send the string
to
software capable of creating a clickable link, plus the information
'this is a clickable link'*. There are two ways to tag a string as a
link. One is to use markup around the url in the string itself.
'<url>' and html are example. Python provides multiple to make this
easy. The other is to tag the string with a separate argument. Python
provides tkinter, which wraps tk Text widgets, which have a powerful
tag
system. One can define a Link tag that will a) cause text to be
displayed, for instance, blue and underlined and b) cause clicks on
the
text to generate a web request. One could then use
mytext.insert('insert', 'http://www.example.com', Link)
Browser must do something similar when they encounter when they
encounter html link tags.
I've actually moved on from my original question to one of opening a url
in a browser with python, which seems to be a much more easily achieved
goal.
But someone else mentioned tkinter, and I looked at it while ago but
haven't used it for anything. That really could be the way to go if you
want to make clickable links, although you still need some kind of
internet engine to open the url in a browser.
IDLE allows a user to add help menu entries that, when clicked on, open
either a local file or an internet url. For instance, adding the pair
'Pillow' and "https://pillow.readthedocs.io/en/latest/" in the Settings
dialog adda "Pillow" to the help menu (after the standard stuff).
Clicking on Help => Pillow opens
"https://pillow.readthedocs.io/en/latest/" in the default browswer.
IDLE just used the webbrowser module to do this. No use re-inventing
the wheel. If instead "Pillow" were a link in text, the click handler
should do something similar.
You say, "There are two ways to tag a string as a link. One is to use
markup around the url in the string itself. '<url>' and html are
examples. Python provides multiple ways to make this easy."
Can you tell me where I'd begin to look for these? Are they in the core
language, or in packages?
I was referring to using either % or .format string formatting. Both
are in the core and described somewhere in the Library manual. '%'
should be in the Symbols page of the Index and 'format' on the 'F' page.
--
Terry Jan Reedy
--
https://mail.python.org/mailman/listinfo/python-list