Я пытаюсь установить положение 3 записей/кнопок. Я знаю, что это нужно делать с якорем и бортом, однако я не очень понимаю, как это работает. Я пытался поставить их в одну линию, первую слева, вторую в центре и третью справа. Мне удалось это сделать, однако они находятся в 3 разных строках. Пожалуйста, может кто-нибудь объяснить мне, как это работает? Связаны ли значения стороны и привязки с предыдущими?
import tkinter
import random
canvas=tkinter.Canvas(width=500,height=500)
canvas.pack()
def symbol(x,y,z,color):
name=entry1.get()
for i in range(1,z+1):
canvas.create_text(x,y,text=' '+name,angle=(360/z)*i,fill=color,font='Arial 19')
def draw(coordinates):
x=coordinates.x
y=coordinates.y
z=int(entry2.get())
color=entry3.get()
symbol(x,y,z,color)
canvas.bind('<Button-1>',draw)
entry1=tkinter.Entry(bg='red')
entry1.pack(side=tkinter.BOTTOM,anchor=tkinter.W)
entry2=tkinter.Entry(bg='green')
entry2.pack(side=tkinter.BOTTOM,anchor=tkinter.CENTER)
entry3=tkinter.Entry(bg='blue')
entry3.pack(side=tkinter.RIGHT,anchor=tkinter.S)
pack()
размещает виджет вертикально или горизонтально. Посколькуentry1
иentry2
используют одну и ту же сторону НИЖНЯЯ, они будут расположены вертикально. Попробуйте использоватьside=tkinter.LEFT
иexpand=True
для трех записей. Также используйтеanchor=tkinter.E
дляentry3
. - person acw1668   schedule 04.12.2018expand=True
сделает три записи распределенными по ширине окна. Если не установлено, три записи будут упакованы вместе в левой части окна. Вы можете увидеть эффект, удалив их. - person acw1668   schedule 05.12.2018