比如说我要设置一个50px宽,60px高的按钮,tkinter.button默认的是按照字符宽高计算。
根据一个网站上的信息,尝试加入了bitmap参数得以成功;然而我的这个按钮没有背景图片和文字,只有背景色、边框,最终未能实现,求解答!
源代码(部分):
grid : tk.Button = tk.Button(self.play_window,
activebackground = self.grid_onmove_bgc,
bd = self.grid_bd_r,
bg = self.grid_bgc,
command = self.on_grid_click,
height = self.grid_r,
width = self.grid_r,
relief = tk.SUNKEN)
grid_r是按钮的边长(像素)。
不知道你这个问题是否已经解决, 如果还没有解决的话:在Python的tkinter库中,可以使用button的height和width属性来设置按钮的高度和宽度。这些属性的单位是文本单元,而不是像素。如果要按照像素来设置按钮的宽高,我们可以借助其他的控件,比如Label来实现。
下面是一个示例代码,展示如何使用Label来创建一个指定像素宽度和高度的按钮:
import tkinter as tk
root = tk.Tk()
# 创建一个Label作为按钮
button = tk.Label(root, text="按钮", bg="red", fg="white", width=200, height=100)
# 设置Label的边框样式
button.config(relief=tk.SOLID, bd=1)
# 在Label上绑定鼠标事件
def on_button_click(event):
print("按钮被点击了")
button.bind("<Button-1>", on_button_click)
# 将按钮显示在窗口上
button.pack()
root.mainloop()
在这个示例中,我们使用Label代替了Button来创建一个按钮。我们设置了Label的文本、背景色、前景色、宽度和高度,以及边框样式。我们还为Label绑定了鼠标事件,当鼠标点击按钮时,会触发相应的函数。
你可以根据需求调整Label的宽度和高度,以达到指定像素的效果。
希望这个答案对你有帮助。如果你有任何其他问题,请随时提问。