Tkinter布局问题

时间:2018-05-29 06:52:36

标签: python tkinter

我无法按照我希望的方式制作布局。我对这个模块比较陌生,除非我只是错误地使用这些功能,否则它不会感觉非常灵活。我尝试过使用带有包的框架,带网格的框架,没有框架的网格,以及没有框架的包装。包装感觉非常类似于CSS中的浮动,但同时它没有。

root = Tk()
root.title("Derivative Calculator GUI")

input = Entry(bg="white")
input.grid(row=0, column=0)
derivbutton = Button(text="Derive This")
derivbutton.grid(row=0, column=1)
secondderiv = Button(text="Second Derivative")
secondderiv.grid(row=1, column=1)
AnswerLabel = Label(text="Answer")
AnswerLabel.grid(row=2, column=0)
StepsLabel = Label(text="Step-by-Step:")
StepsLabel.grid(row=3, column=0)

WhiteBoard = Canvas(width=525, height=400, bg="white")
drawFunction = WhiteBoard.bind("<B1-Motion>", hold)
drawFunction2 = WhiteBoard.bind("<ButtonRelease-1>", release)
WhiteBoard.grid(row=3, column=2)
ClearButton = Button(width=75, height=3, text="Clear All", bg="white", command=clear_all)
ClearButton.grid(row=4, column=2)
ToolBar1 = Frame()
PencilButton = Button(text="Pencil", bg="grey", width=2, height=2)
PencilButton.grid()
ToolBar1.grid(row=0,column=2)
ToolBar2 = Frame()
ToolBar2.grid(row=1, column=2)


root.mainloop()

我希望它看起来像: MS Paint representation of my GUI

它实际上是什么样的: Actual GUI

1 个答案:

答案 0 :(得分:0)

请勿将所有内容放在根窗口中,并且不要尝试仅使用grid或仅使用pack来解决所有问题。有条不紊。

例如,您的GUI看起来像是分为两部分:左边的区域带有等式,有些按钮,以及&#34;答案:&#34;和&#34;步骤&#34; sectons。右侧区域有一些按钮和一个画布或文本小部件。因此,首先创建两个框架,并使用pack将它们并排放置。

接下来,解决左框架问题。它似乎由三部分组成:等式和一些按钮,答案部分和步骤部分。这些区域从上到下排列。您可以创建三个框架并使用pack进行排列,也可以尝试使用grid进行整理。要么应该工作,尽管我可能至少在顶部制作一个框架。

最后,解决右边的问题。同样,它似乎由三个部分组成,因此三个框架可以使工作更容易:一个用于顶部的按钮,一个用于中间的东西,一个用于底部的按钮。

不要试图立刻解决这个问题。一次只做一个部分。最初为每个帧提供一种独特的颜色,这样您就可以看到一帧结束和下一帧开始的位置。