0

尝试使用网格几何而不是 pack(),但使用不使用 pack() 的框架让我迷失了方向。我想要的只是围绕它的一个框架,这样我就可以在某些部分周围有一个边框和标签。我怀疑宽度和高度参数是这里的问题。

from tkinter import *

class App:

    def __init__(self,master):

        frame = Frame(master,height=20,width=25)

        #Multiple buttons, over n rows and columns, these are just here to demonstrate my syntax
        self.action = Button(frame,text="action",command=self.doAction)
        self.action.grid(row=n,column=n)

    def doAction(self):
        print('Action')

root = Tk()

app = App(root)

root.mainloop()
4

2 回答 2

1

您在构造函数的第一条语句中创建的框架永远不会放置在其父窗口中的任何位置。由于其他小部件是此小部件的子级,因此它们也不会显示。

于 2013-09-02T12:05:18.627 回答
0

可能是你正在尝试做这样的事情。

class App:
    def __init__(self,master):

        frame = Frame(master,height=20,width=25)
        frame.grid()
        #Multiple buttons, over n rows and columns, these are just here to demonstrate my syntax
        for i in range(n):
            frame.columnconfigure(i,pad=3)
        for i in range(n):
            frame.rowconfigure(i,pad=3)

        for i in range(0,n):
            for j in range(0,n):
                self.action = Button(frame,text="action",command=self.doAction)
                self.action.grid(row=i,column=j)

    def doAction(self):
        print('Action')
于 2013-09-02T03:10:25.750 回答