2

我在 Python 中有一个非常简单的 TkInter 程序。

如何通过以下代码使用“填充”或“扩展”选项?

from Tkinter import *

class Application(Frame):
    def sayhello(self):
        print "Hello!"

    def createWidgets(self):
        self.var = Button(self, text="Hello", command = self.sayhello)
        self.var.pack(side=LEFT)

        self.QUIT = Button(self, text="QUIT", fg="red", command = self.quit)
        self.QUIT.pack(side=LEFT)

    def __init__(self, master=None):
        Frame.__init__(self, master)
        self.pack()
        self.createWidgets()

root = Tk()
app = Application(master=root)
app.mainloop()
root.destroy()

注意:我必须使用 self.var.pack() 格式,这样它才能在按下时执行“命令”……除非有人有更好的方法?

4

1 回答 1

3

要使对象在 y 轴上填充它的容器,您将使用参数fill="y"(或者fill=Y如果您从 Tkinter 导入 Y)。

请注意,这只控制小部件如何填充其容器。在您的代码中,这会使按钮填充内部框架,但由于您的内部框架没有填充 y 轴上的主窗口,您可能无法获得预期的视觉效果。

此外,特别是在 Macintosh 上的按钮的情况下,按钮不会增长以填充空间。在 OSX 上,按钮是无法增加高度的原生小部件。

于 2013-05-02T10:56:00.263 回答