簡體   English   中英

Python Tkinter:如何修改菜單小部件的字體?

[英]Python Tkinter: How to modify the font of the Menu widget?

我正在嘗試使用Courier New font制作一個tkinter Menu小部件。 不幸的是, font attribute似乎不起作用。 我正在使用Python 3.4.1 下面是代碼:

from tkinter import *

class Arshi(Frame):

    def __init__(self, master):
        Frame.__init__(self, master)
        self.pack(fill=BOTH)
        self.topbar()

    def topbar(self):
        self.menufont = ("Courier New", 9)
        self.menu = Menu(self, font=self.menufont)
        self.master.config(menu=self.menu)

root = Tk()
root.title("Arshi")
window = Arshi(root)
window.mainloop()

Tkinter是綁定到Tk小部件的Python。 Tk的菜單小部件設計為具有非可編程字體。 這是在GUI開發下其他流行的小部件工具箱所采用的方法,即:

-無論使用哪個工具箱創建系統,系統的應用程序都應具有標准化菜單。
-所有應用程序菜單字體都可以由單個用戶在單個系統范圍內的配置選項下進行配置(查找系統的用戶設置以獲取菜單的字體設置)。
-無論您使用Tk還是競爭對手的小部件,所有菜單的外觀都相同。
-如果另一個菜單看上去確實不同,則它實際上不是菜單小部件。

例如,在Ubuntu中,與主應用程序窗口分開的應用程序菜單將被拋出到屏幕的左上角。 OS-X具有類似的方法。 Windows,Mac和Linux桌面都允許其個人用戶根據自己的喜好調整菜單字體,但不能根據程序員的喜好調整菜單字體。

可以使用另一個小部件類來模仿菜單的外觀,程序員可以按照自己的喜好自定義字體。 例如,您可以使用menubutton小部件並調整其字體選項,然后將其放置在框架中。 這樣就可以達到非標准菜單的目的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM