是否可以减小 tkinter 中的按钮大小?
Is it possible to reduce a button size in tkinter?
我正在开发一个小文本编辑器,目前正在制作按钮,在 'B' 按钮下面的图片中,粗体显示。我想缩小他的尺寸,让他适合他的真实尺寸,像一个方盒子,去掉多余的高度。
我怎样才能低于这个似乎是默认最小值的尺寸?框架和按钮高度都设置为 1 并需要一个整数,所以我不允许低于 0.5 之类的值。
top_menu = tk.Frame(root)
bold_button = tk.Button(top_menu, text='B', font=('EB Garamond ExtraBold',)) #here a tuple because tkinter needs it when the font name have multiple spaces
bold_button.pack(side='left', padx=4)
在 Tkinter 中配置按钮(或任何小部件)是通过调用配置方法“config”完成的
要更改名为 button1 的按钮的大小,只需调用
button1.config( height = WHATEVER, width = WHATEVER2 )
如果您在初始化时知道需要什么大小,可以将这些选项添加到构造函数中。
button1 = Button(self, text = "Send", command = self.response1, height = 100, width = 100)
我想你可以尝试使用 ttk.Button
并给它一个 ttk.Style
并设置字体大小:
s = ttk.Style()
s.configure('my_button', font=('Helvetica', 12))
b = ttk.Button(..., style='my_button')
width
和height
属性是以字符为单位的(例如:1
表示一个平均字符的大小)。如果按钮有图像,您可以以像素为单位指定宽度和高度。
一个按钮可以同时包含图像和文本,因此一个简单的技巧是添加一个单像素的透明像素作为图像,这样您就可以指定像素大小。
padx
和 pady
选项也影响按钮的大小。如果您想获得精确的尺寸,则需要将它们设置为零。
这是一个简单的例子:
import tkinter as tk
root = tk.Tk()
root.geometry("200x100")
pixel = tk.PhotoImage(width=1, height=1)
toolbar = tk.Frame(root)
toolbar.pack(side="top")
for size in (12, 16, 24, 32):
button = tk.Button(toolbar, text=str(size), width=size, height=size,
image=pixel, compound="center", padx=0, pady=0)
button.pack(side="left")
root.mainloop()
我正在开发一个小文本编辑器,目前正在制作按钮,在 'B' 按钮下面的图片中,粗体显示。我想缩小他的尺寸,让他适合他的真实尺寸,像一个方盒子,去掉多余的高度。
我怎样才能低于这个似乎是默认最小值的尺寸?框架和按钮高度都设置为 1 并需要一个整数,所以我不允许低于 0.5 之类的值。
top_menu = tk.Frame(root)
bold_button = tk.Button(top_menu, text='B', font=('EB Garamond ExtraBold',)) #here a tuple because tkinter needs it when the font name have multiple spaces
bold_button.pack(side='left', padx=4)
在 Tkinter 中配置按钮(或任何小部件)是通过调用配置方法“config”完成的
要更改名为 button1 的按钮的大小,只需调用
button1.config( height = WHATEVER, width = WHATEVER2 )
如果您在初始化时知道需要什么大小,可以将这些选项添加到构造函数中。
button1 = Button(self, text = "Send", command = self.response1, height = 100, width = 100)
我想你可以尝试使用 ttk.Button
并给它一个 ttk.Style
并设置字体大小:
s = ttk.Style()
s.configure('my_button', font=('Helvetica', 12))
b = ttk.Button(..., style='my_button')
width
和height
属性是以字符为单位的(例如:1
表示一个平均字符的大小)。如果按钮有图像,您可以以像素为单位指定宽度和高度。
一个按钮可以同时包含图像和文本,因此一个简单的技巧是添加一个单像素的透明像素作为图像,这样您就可以指定像素大小。
padx
和 pady
选项也影响按钮的大小。如果您想获得精确的尺寸,则需要将它们设置为零。
这是一个简单的例子:
import tkinter as tk
root = tk.Tk()
root.geometry("200x100")
pixel = tk.PhotoImage(width=1, height=1)
toolbar = tk.Frame(root)
toolbar.pack(side="top")
for size in (12, 16, 24, 32):
button = tk.Button(toolbar, text=str(size), width=size, height=size,
image=pixel, compound="center", padx=0, pady=0)
button.pack(side="left")
root.mainloop()