1

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

1 回答 1

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()
于 2013-05-09T13:29:40.367 回答