如何使这个Entry小部件居中?

时间:2013-05-09 03:21:08

标签: python graphics login widget tkinter

我正在用Python开始一个项目:一个电子邮件客户端。我知道这可能听起来很奇怪,但这只是为了好玩。

我有一个Entry小部件和一个Canvas小部件。当我pack两者时,它给了我Canvas,以及一个以Canvas为中心的Entry小部件,在Canvas周围有一个边框,因此是一个分隔Entry小部件和Canvas的边框。

我想要的是以Canvas为中心的Entry小部件,没有边框划分Entry框和Canvas。

当我将Entry小部件中的主小部件设置为canvas时,该画布不会出现:只有Entry小部件,窗口足够大,只包含Entry小部件。

如果主窗口小部件设置为frame,我得到上面描述的内容,画布和条目窗口小部件分开,但整个窗口的大小是指定的。

这是我的实际代码:

import tkinter

frame = tkinter.Tk()
frame.config(height=370, width=670, bg="#C2C2D6")

entry = tkinter.Entry(frame, exportselection=0)
canvas = tkinter.Canvas(frame, height=370, width=670, bg="#C2C2D6", 
                        bd=0, relief="sunken")
entry.pack()
canvas.pack()

frame.mainloop()

1 个答案:

答案 0 :(得分:0)

您不需要Canvas。您可以将frame设置为entry的父级:

import tkinter

frame = tkinter.Tk()

frame.config(height=370, width=670, bg="#C2C2D6")
entry = tkinter.Entry(frame, exportselection=0)
entry.pack(padx=100, pady=100, expand=1, fill='x')

frame.mainloop()