8000 bpo-35728: Add root parameter to tkinter.font.nametofont() (GH-23885) · python/cpython@36a779e · GitHub
[go: up one dir, main page]

Skip to content

Commit 36a779e

Browse files
bpo-35728: Add root parameter to tkinter.font.nametofont() (GH-23885)
1 parent 675c97e commit 36a779e

File tree

4 files changed

+23
-4
lines changed

4 files changed

+23
-4
lines changed

Doc/library/tkinter.font.rst

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,9 @@ The different font weights and slants are:
9191

9292
Return the names of defined fonts.
9393

94-
.. function:: nametofont(name)
94+
.. function:: nametofont(name, root=None)
9595

96-
Return a :class:`Font` representation of a tk named font.
96+
Return a :class:`Font` representation of a tk named font.
97+
98+
.. versionchanged:: 3.10
99+
The *root* parameter was added.

Lib/tkinter/font.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,10 @@
1717
ITALIC = "italic"
1818

1919

20-
def nametofont(name):
20+
def nametofont(name, root=None):
2121
"""Given the name of a tk named font, returns a Font representation.
2222
"""
23-
return Font(name=name, exists=True)
23+
return Font(name=name, exists=True, root=root)
2424

2525

2626
class Font:

Lib/tkinter/test/test_tkinter/test_font.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,11 @@ def test_names(self):
101101
self.assertTrue(name)
102102
self.assertIn(fontname, names)
103103

104+
def test_nametofont(self):
105+
testfont = font.nametofont(fontname, root=self.root)
106+
self.assertIsInstance(testfont, font.Font)
107+
self.assertEqual(testfont.name, fontname)
108+
104109
def test_repr(self):
105110
self.assertEqual(
106111
repr(self.font), f'<tkinter.font.Font object {fontname!r}>'
@@ -136,6 +141,16 @@ def test_names(self):
136141
tkinter.NoDefaultRoot()
137142
self.assertRaises(RuntimeError, font.names)
138143

144+
def test_nametofont(self):
145+
self.assertRaises(RuntimeError, font.nametofont, fontname)
146+
root = tkinter.Tk()
147+
testfont = font.nametofont(fontname)
148+
self.assertIsInstance(testfont, font.Font)
149+
self.assertEqual(testfont.name, fontname)
150+
root.destroy()
151+
tkinter.NoDefaultRoot()
152+
self.assertRaises(RuntimeError, font.nametofont, fontname)
153+
139154

140155
tests_gui = (FontTest, DefaultRootTest)
141156

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Added a root parameter to :func:`tkinter.font.nametofont`.

0 commit comments

Comments
 (0)
0