为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 tkinter 中制作字体对话框?

如何在 tkinter 中制作字体对话框?

阿晨1998 2023-07-27 16:33:05
我需要帮助在 tkinter 中制作字体对话框。到目前为止,这是我的代码:from tkinter import *root = Tk()root.geometry("600x600")def fontDialog():    root2 = Toplevel(root)    root2.geometry("300x300")    root2.mainloopbutton = Button(root, text="font dialog", command=fontDialog)root.mainloop所以在 def fontDialog 中,我做了一个屏幕。我不知道如何制作一个更改字体系列和大小的字体对话框。如果你愿意,请帮忙。
查看完整描述

1 回答

?
尚方宝剑之说

TA贡献1788条经验 获得超4个赞

字体选择器的制作非常简单。您真正要做的就是运行一个循环font.families()并将insert每次迭代返回到Listbox. 从那里,您只需告诉它将持久字体引用的 更改为单击时family选择的任何内容。对于将持久字体引用应用于其选项的任何内容,字体都会发生变化。ListboxListboxfont


import tkinter as tk

from tkinter import font



class App(tk.Tk):

    def __init__(self):

        tk.Tk.__init__(self)


        #persistent font reference

        textfont = font.Font(family='arial', size='14')

        

        #something to type in ~ uses the persistent font reference

        tk.Text(self, font=textfont).grid(row=0, column=0, sticky='nswe')

        

        #make the textfield fill all available space

        self.grid_rowconfigure(0, weight=1)

        self.grid_columnconfigure(0, weight=1)

        

        #font chooser

        fc = tk.Listbox(self)

        fc.grid(row=0, column=1, sticky='nswe')


        #insert all the fonts

        for f in font.families():

            fc.insert('end', f)


        #switch textfont family on release

        fc.bind('<ButtonRelease-1>', lambda e: textfont.config(family=fc.get(fc.curselection())))

        

        #scrollbar ~ you can actually just use the mousewheel to scroll

        vsb = tk.Scrollbar(self)

        vsb.grid(row=0, column=2, sticky='ns')

        

        #connect the scrollbar and font chooser

        fc.configure(yscrollcommand=vsb.set)

        vsb.configure(command=fc.yview)



if __name__ == "__main__":

    app = App()

    app.title('Font Chooser Example')

    app.geometry(f'800x600+200+200')

    app.mainloop()


查看完整回答
反对 回复 2023-07-27
  • 1 回答
  • 0 关注
  • 140 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信