mirror of
https://github.com/python/cpython
synced 2026-11-06 09:02:40 +03:00
Tk on macOS replaces the SIGINT, SIGHUP and SIGTERM handlers with its
own, which exits the process, so Ctrl-C terminated a tkinter program
instead of raising KeyboardInterrupt. Save the handlers installed by
Python before Tk_Init() and restore them after it.
This affects Tk 8.6.11 to 8.6.18 and 9.0 to 9.0.4. Tk itself is fixed
in 8.6.19 and 9.0.5.
(cherry picked from commit
|
||
|---|---|---|
| .. | ||
| __init__.py | ||
| __main__.py | ||
| README | ||
| support.py | ||
| test_colorchooser.py | ||
| test_dnd.py | ||
| test_filedialog.py | ||
| test_font.py | ||
| test_geometry_managers.py | ||
| test_images.py | ||
| test_loadtk.py | ||
| test_messagebox.py | ||
| test_misc.py | ||
| test_scrolledtext.py | ||
| test_simpledialog.py | ||
| test_text.py | ||
| test_tkinter_pipe.py | ||
| test_variables.py | ||
| test_widgets.py | ||
| widget_tests.py | ||
Writing new tests
=================
Precaution
----------
New tests should always use only one Tk window at once, like all the
current tests do. This means that you have to destroy the current window
before creating another one, and clean up after the test. The motivation
behind this is that some tests may depend on having its window focused
while it is running to work properly, and it may be hard to force focus
on your window across platforms (right now only test_traversal at
test_ttk.test_widgets.NotebookTest depends on this).