繁体   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