我遇到了问题。 我想在图像前面实现一个Inputfield(Text())(ImageTk.Photoimage()) 但是Inputfield的白色背景覆盖了图像。所以我的问题是,如何将Text()的背景设置为完全透明?
from Tkinter import *
from PIL import ImageTk, Image
path = 'C:/Users/David/Pictures/5.png'
root = Tk()
img = ImageTk.PhotoImage(Image.open(path))
panel = Label(root, image = img)
panel.pack(side = "bottom", fill = "both", expand = "yes")
Text(root).pack()
root.mainloop()
答案 0 :(得分:0)
Text(root).pack( side = "BOTTOM", fill ="X", expand = 1 )
或
Text(root).grid( sticky = W+S+E )
参考。 >>> https://stackoverflow.com/a/18479446/3666197
答案 1 :(得分:-1)
制作透明背景: 如果将图像打包到画布小部件中,则可以使用
在其顶部发布文本canvas.create_text()
可以在此处找到canvas小部件的一个很好的参考: http://effbot.org/tkinterbook/canvas.htm
控制小部件自身打包的宽度 如果你正在使用pack,你可以使用:
Text.pack(fill="x")
或:
Text.pack(fill="x", expand=True)
# this one would also make it expand if you resize the window
或者如果你使用grid:
Text.grid(sticky="nesw")
并在调整窗口大小时将其展开:
parent.grid_columnconfigure(columnnumber, weight=1)
如果您使用网格,则可以通过更改该行/列的权重来更改窗口小部件展开的相对速率
詹姆斯