我有一个透明的tkinter消息小部件和一个标签,一个包含另一个图像的文本,图像只绘制在文本标签后面的部分。 1
我在Windows 7上使用python tkinter在透明窗口上的桌面上绘制标签,所以你在后台看到的是我常规的Windows桌面,这可能与某些事情有关它
以下是代码片段,但我认为还有更多不相关的内容
x = Tk()
label = tkinter.Message(x, textvariable=text, font=('Terminal','10'), fg='white', bg='green', width=800, anchor='n')
label.master.overrideredirect(True)
label.master.geometry('+30+30')
label.master.lift()
label.master.wm_attributes('-transparentcolor', 'green')
label.pack()
然后这是一个被调用来显示情节的函数
new_plot = Label(x, image=plot_image, fg='white', bg='green', anchor='n', width=640, height=480)
new_plot.image = plot_image
new_plot.master.wm_attributes('-transparentcolor', 'green')
new_plot.place(x = 20, y = 30, width=640, height=480)
new_plot.update()
然后在最后
x.mainloop()
我希望这就是与问题相关的所有内容
答案 0 :(得分:0)
我怀疑这与tkinter窗口默认为1x1像素大小的事实有关。当您使用place
时,tkinter将不会展开窗口以适合其内容。
它与消息框一起使用的原因是因为您使用pack
将消息框添加到根窗口,将导致窗口增长。
简单的解决方案是使用new_plot.pack(...)
代替new_plot.place(...)
。