在下面的代碼中,"字體"(在組態檔中定義)只適用于首先啟動的Tkinter視窗,在這種情況下是 "gui"。如果我切換順序,它就會應用于 "校準 "視窗,而不是 "gui "視窗。我怎樣才能把它擴展到 "gui "和 "校準 "兩個視窗呢?
gui = tk.Tk()
校準 = tk.Tk()
defaultFont = tkFont.nametofont("TkDefaultFont"/span>)
defaultFont.configure(family=font, size=9)
uj5u.com熱心網友回復:
Tk的兩個實體是完全相互隔離的。一個單一的字體配置不能同時適用于這兩個實體。
一般來說,您不應該創建兩個Tk的實體。如果您需要一個以上的視窗,第二個和隨后的視窗應該是Tk的實體。當你這樣做時,這個問題就會消失。
然而,如果您需要創建兩個Tk實體,那么您需要為每個實體分別配置字體。不幸的是,nametofont假設只有一個根視窗,所以它不能被使用。然而,該函式的主體是一行代碼,所以我們可以復制它來提供額外的選項來指定要配置的根視窗。
下面是在多個視窗中獲取和配置默認字體的方法:
import tkinter as tk
import tkinter.font as tkFont
gui = tk.Tk()
校準 = tk.Tk()
for window in(gui, calibration)。
defaultFont = tkFont.Font(root=window, name="TkDefaultFont", exists=True)
defaultFont.configure(family=font, size=9)
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/319467.html
標籤:
