代码之家  ›  专栏  ›  技术社区  ›  kakyo

使用Tkinter,如何使ttk.按钮大小适合其文本?

  •  0
  • kakyo  · 技术社区  · 7 年前

    我查看了Button小部件的选项,但在那里找不到任何类似“适合内容”的内容。

    我是否必须显式设置大小,以使按钮大小适合其大小 text ?

    import tkinter as TK
    from tkinter import ttk
    
    root = TK.Tk()
    root.title('Buttons bigger than text')
    root.geometry('{}x{}+0+0'.format(800, 800))
    root.resizable(width=False, height=False)
    
    mainFrame = TK.Frame(root, bg='green')
    mainFrame.pack(side="top", fill="both", expand=True)
    
    for r in range(0, 5):
        row = TK.Frame(mainFrame, bg='blue')
        mainFrame.grid_rowconfigure(r, weight=1)
        mainFrame.grid_columnconfigure(0, weight=1)
        row.pack(side="top", fill="both", expand=True)
        bt1 = ttk.Button(row, text='mybutton')
        bt2 = ttk.Button(row, text='?')
        row.grid_rowconfigure(0, weight=1)
        row.grid_columnconfigure(0, weight=1)
        row.grid_columnconfigure(1, weight=1)
        bt1.grid(row=0, column=0, sticky='nsw')
        bt2.grid(row=0, column=1, sticky='nsw')
    root.mainloop()
    

    这是ttk.按钮特定的问题吗?我用Tk.Button进行了测试,它按预期工作。

    环境

    macOS High Sierra上的Python 3.6.4自制。

    1 回复  |  直到 7 年前
        1
  •  2
  •   Bryan Oakley    7 年前

    默认情况下,按钮小部件将尝试适合其文本。这是他们记录在案的行为。当您使用时,您明确要求它们拉伸以填充空间 sticky