如何以像素为单位调整按钮大小? (Tkinter)

新手上路,请多包涵

我正在用 Python Tkinter 制作井字游戏,但按钮是矩形的,我希望它们的大小均为 100x100 像素。我尝试使用:

 a1 = Button(root, text="", font="Helvetica 16 bold", command=a1, height=10, width=10)

(忽略空字符串和 a1 )但它不会将其调整为正方形。我已经编写了大部分代码并且不想使用框架来调整它们的大小。我应该怎么办?

原文由 Danyal Durrani 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.9k
2 个回答

一种简单的方法是为按钮提供一个不可见的 1x1 像素图像。当您这样做时, widthheight 属性被解释为像素(或更准确地说, _屏幕单位_,也可能表示点、英寸或厘米)。

如果这样做,您可以将 compound 设置为值“c”,这意味着该按钮应同时显示文本和图像,并且两者都位于窗口的中心。

例如:

 import Tkinter as tk
...
pixel = tk.PhotoImage(width=1, height=1)
button = tk.Button(root, text="", image=pixel, width=100, height=100, compound="c")
...

原文由 Bryan Oakley 发布,翻译遵循 CC BY-SA 3.0 许可协议

如果您使用 place 方法添加按钮,则可以使用表达式:

 myButton.place(x = 0, y = 0, width = 200, height = 30)

这样,在其父对象的位置 x = 0, y = 0 中创建大小为 200x30 px 的按钮

原文由 Raquel Stephie Silloca Castro 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题