Проблемы с макетом Tkinter - PullRequest
0 голосов
/ 29 мая 2018

У меня проблемы с тем, чтобы сделать макет так, как я хочу.Я относительно новичок в этом модуле, и он не очень гибок, если только я не использую эти функции неправильно.Я пытался использовать кадры с пакетом, кадры с сеткой, сетки без рамок и пакет без рамок.Упаковка была очень похожа на float в 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 моего GUI

Как это выглядит на самом деле: Фактический графический интерфейс

1 Ответ

0 голосов
/ 29 мая 2018

Не помещайте все в корневое окно и не пытайтесь решить все свои проблемы только с grid или только с pack.Будьте методичны.

Например, ваш графический интерфейс выглядит так, как будто он разделен на две части: область слева с уравнением, несколько кнопок и разделы «Ответ:» и «Шаги».Область справа имеет несколько кнопок и виджет холста или текста.Итак, начните с создания двух фреймов и используйте pack, чтобы расположить их рядом.

Далее, займитесь левым фреймом.Похоже, что он состоит из трех разделов: уравнения и некоторых кнопок, раздела ответов и раздела шагов.Эти области расположены сверху вниз.Вы можете либо создать три кадра и расположить их с помощью pack, либо попытаться расположить их все с помощью grid.Любой из них должен работать, хотя я бы, вероятно, сделал рамку хотя бы для верхнего раздела.

Наконец, решите проблему справа.Опять же, кажется, что он состоит из трех секций, поэтому три кадра облегчат работу: один для кнопок вверху, один для элементов посередине и один для кнопки внизу.

Не пытайтесь выложить все это сразу.Просто делайте один раздел за раз.Первоначально присвойте каждому кадру уникальный цвет, чтобы вы могли видеть, где заканчивается один кадр и начинается следующий.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...