【问题标题】:Python Tkinter Button/Entry OrientationPython Tkinter 按钮/入口方向
【发布时间】:2019-05-05 06:59:40
【问题描述】:

我正在尝试设置 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)

【问题讨论】:

  • 通常,pack() 将垂直或水平排列小部件。由于entry1entry2 使用同侧BOTTOM,所以它们将垂直排列。尝试对 3 个条目使用 side=tkinter.LEFTexpand=True。也使用anchor=tkinter.E 作为entry3
  • 谢谢,它成功了。我不需要对 entry3 使用 ,,anchor=tkinter.E'' 命令来正常工作。感谢您的支持,但请您解释一下 expand=True 是什么意思?
  • 很高兴知道它有帮助。 expand=True 将使三个条目分布在窗口的宽度上。如果未设置,则三个条目将在窗口左侧打包在一起。去掉它们就可以看到效果了。

标签: python canvas tkinter anchor tkinter-entry


【解决方案1】:
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)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-08-30
    • 2016-08-28
    • 1970-01-01
    • 1970-01-01
    • 2012-01-06
    • 1970-01-01
    • 2016-06-10
    相关资源
    最近更新 更多