Jim Lee at 2018/6/17 PM 04:10 wrote:


On 06/17/2018 12:08 AM, Jach Fong wrote:
C:\Python34\Doc>py
Python 3.4.4 (v3.4.4:737efcadf5a6, Dec 20 2015, 19:28:18) [MSC v.1600 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import tkinter as tk
>>> root = tk.Tk()
>>> tk.Label(root, text='label one', font='TkDefaultFont').pack()
>>> from tkinter import font
>>> font.nametofont('TkDefaultFont')
<tkinter.font.Font object at 0x021E9490>
>>> font.nametofont('TkDefaultFont')
<tkinter.font.Font object at 0x021E9390>
>>>

The "address" of the Font object 'TkDefaultFont' changes, why?

Best Regards,
Jach Fong



def nametofont(name):
     """Given the name of a tk named font, returns a Font representation.
     """
     return Font(name=name, exists=True)

Every time you call nametofont(), you're creating a new instance of the Font class.

hmm... It means every time I set a widget's font to "TkDefaultFont", a new object was created. Why python do things this way? Can't it use
this same object again and again?

--Jach

---
This email has been checked for viruses by Avast antivirus software.
https://www.avast.com/antivirus

--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to