【发布时间】:2018-10-03 12:41:06
【问题描述】:
为什么网格不以窗口大小为中心?现在网格的最大行和列是多少? 另外,为什么按钮不是方形的,因为我将它们的高度和宽度定义为相等? 这是我的代码:
from Tkinter import *
class Application:
def __init__(self, master=None):
self.master = master
self.createWidgets_0()
def createWidgets_0(self):
self.but_Next = Button(self.master, text="Next", height = 10, width = 10)
self.but_Next.grid(row=1, column=2)
self.but_fil1 = Button(self.master, text="Filler", height = 10, width = 10)
self.but_fil1.grid(row=1, column=1)
self.but_fil2 = Button(self.master, text="Filler", height = 10, width = 10)
self.but_fil2.grid(row=0, column=1)
self.but_fil3 = Button(self.master, text="Filler", height = 10, width = 10)
self.but_fil3.grid(row=2, column=1)
self.but_Close = Button(self.master, text="Close", command=self.master.quit, height = 10, width = 10)
self.but_Close.grid(row=1, column=0)
root = Tk()
app = Application(root)
app.master.geometry("800x600")
app.master.resizable(0, 0)
root.mainloop()
root.destroy()
【问题讨论】:
-
来自the docs:"你也可以使用height和width选项来显式设置大小。如果你在按钮中显示文本,这些选项在文本中定义按钮的大小单位。” 文本单位不是方形的,所以你的按钮也不是方形的。至于为什么按钮不居中-我想这可能是因为您将它们设置为固定大小,因此它们无法扩展到整个窗口。
-
我认为最大行数和列数可能是 65535,虽然我不确定。
-
你在 OSX 上吗? OSX 不允许您拥有超过一行高的按钮,除非您使用图像。多平台支持的缺陷之一。
-
如果为按钮设置图像,则宽度和高度可以按像素调整,否则宽度和高度由字符高度和长度测量。
标签: python macos button tkinter grid