是否可以减少 tkinter 中的按钮大小?

问题描述

我正在开发一个小型文本编辑器,目前正在制作按钮,图片下方的“B”按钮表示粗体。我想缩小他的尺寸,使他适合他的真实尺寸,就像一个方形盒子,并去掉多余的高度。

enter image description here

我怎么能低于这个似乎是认最小值的大小?框架和按钮的高度都设置为 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)

解决方法

widthheight 属性以字符为单位(例如:1 表示一个平均字符的大小)。如果按钮有图像,您可以以像素为单位指定宽度和高度。

一个按钮可以同时包含图像和文本,所以一个简单的技巧是添加一个像素的透明像素作为图像,然后您就可以指定像素大小。

padxpady 选项也会影响按钮的大小。如果您想获得精确的尺寸,则需要将它们设置为零。

这是一个简单的例子:

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()

screenshot

,

我认为你可以尝试使用 ttk.Button 并给它一个 ttk.Style 并设置字体大小:

s = ttk.Style()
s.configure('my_button',font=('Helvetica',12))
b = ttk.Button(...,style='my_button')

,

在 Tkinter 中配置按钮(或任何小部件)是通过调用配置方法“config”来完成的

要更改名为 button1 的按钮的大小,您只需调用

button1.config( height = WHATEVER,width = WHATEVER2 )

如果您知道初始化时需要什么大小,可以将这些选项添加到构造函数中。

button1 = Button(self,text = "Send",command = self.response1,height = 100,width = 100) 

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...