我正在用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()
答案 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()