Python tkinter.button按照像素设置宽高

比如说我要设置一个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是按钮的边长(像素)。

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 以下回答来自chatgpt:

    问题解答

    在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的宽度和高度,以达到指定像素的效果。

    希望这个答案对你有帮助。如果你有任何其他问题,请随时提问。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^