首页 > 解决方案 > Python Tkinter 按钮/入口方向

问题描述

我正在尝试设置 3 个条目/按钮的位置。我知道它需要用锚和边来完成,但我并不真正了解它是如何工作的。我试图让它们排成一行,第一个在左边,第二个在中间,第三个在右边。我设法做到了这一点,但是它们在 3 个不同的行中。请,有人可以向我解释一下,这是如何工作的?side 和 anchor 值是否与前面的相关?

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)

标签: pythoncanvastkinteranchortkinter-entry

解决方案


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.place(x=0,y=485)

entry2=tkinter.Entry(bg='green')
entry2.place(x=181,y=485)

entry3=tkinter.Entry(bg='blue')
entry3.place(x=360,y=485)

推荐阅读