summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwyz23x2 <52805709+wyz23x2@users.noreply.github.com>2021-05-07 15:53:23 (GMT)
committerGitHub <noreply@github.com>2021-05-07 15:53:23 (GMT)
commit4a2d98a1e98de25c5114d11fcb0f9fedbb057e51 (patch)
treec9302fd32b39bf5f89b8f59de469c394a5eeb1bd
parentadcd2205565f91c6719f4141ab4e1da6d7086126 (diff)
downloadcpython-4a2d98a1e98de25c5114d11fcb0f9fedbb057e51.zip
cpython-4a2d98a1e98de25c5114d11fcb0f9fedbb057e51.tar.gz
cpython-4a2d98a1e98de25c5114d11fcb0f9fedbb057e51.tar.bz2
bpo-41730: Show deprecation warnings for tkinter.tix (GH-22186)
Co-authored-by: E-Paine <63801254+E-Paine@users.noreply.github.com> Co-authored-by: Zachary Ware <zach@python.org>
-rw-r--r--Lib/test/test_tix.py15
-rw-r--r--Lib/tkinter/tix.py9
-rw-r--r--Misc/NEWS.d/next/Library/2020-09-10-07-23-24.bpo-41730.DyKFi9.rst1
3 files changed, 19 insertions, 6 deletions
diff --git a/Lib/test/test_tix.py b/Lib/test/test_tix.py
index e6d759e..a2fb357 100644
--- a/Lib/test/test_tix.py
+++ b/Lib/test/test_tix.py
@@ -1,7 +1,7 @@
+import sys
import unittest
from test import support
from test.support import import_helper
-import sys
# Skip this test if the _tkinter module wasn't built.
_tkinter = import_helper.import_module('_tkinter')
@@ -9,7 +9,9 @@ _tkinter = import_helper.import_module('_tkinter')
# Skip test if tk cannot be initialized.
support.requires('gui')
-from tkinter import tix, TclError
+# Suppress the deprecation warning
+tix = import_helper.import_module('tkinter.tix', deprecated=True)
+from tkinter import TclError
class TestTix(unittest.TestCase):
@@ -24,9 +26,12 @@ class TestTix(unittest.TestCase):
else:
self.addCleanup(self.root.destroy)
- def test_tix_available(self):
- # this test is just here to make setUp run
- pass
+ def test_tix_deprecation(self):
+ with self.assertWarns(DeprecationWarning):
+ import_helper.import_fresh_module(
+ 'tkinter.tix',
+ fresh=('tkinter.tix',),
+ )
if __name__ == '__main__':
diff --git a/Lib/tkinter/tix.py b/Lib/tkinter/tix.py
index 7d24075..44ecae1 100644
--- a/Lib/tkinter/tix.py
+++ b/Lib/tkinter/tix.py
@@ -21,13 +21,20 @@
# Compare the demo tixwidgets.py to the original Tcl program and you will
# appreciate the advantages.
#
+# NOTE: This module is deprecated since Python 3.6.
import os
+import warnings
import tkinter
from tkinter import *
from tkinter import _cnfmerge
-import _tkinter # If this fails your Python may not be configured for Tk
+warnings.warn(
+ 'The Tix Tk extension is unmaintained, and the tkinter.tix wrapper module'
+ ' is deprecated in favor of tkinter.ttk',
+ DeprecationWarning,
+ stacklevel=2,
+ )
# Some more constants (for consistency with Tkinter)
WINDOW = 'window'
diff --git a/Misc/NEWS.d/next/Library/2020-09-10-07-23-24.bpo-41730.DyKFi9.rst b/Misc/NEWS.d/next/Library/2020-09-10-07-23-24.bpo-41730.DyKFi9.rst
new file mode 100644
index 0000000..63d8353
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/2020-09-10-07-23-24.bpo-41730.DyKFi9.rst
@@ -0,0 +1 @@
+``DeprecationWarning`` is now raised when importing :mod:`tkinter.tix`, which has been deprecated in documentation since Python 3.6.