为什么 label with image 和 Entry widget 不能放在一起??无法解决这个问题
Why label with image and Entry widget can't be together ?? Can't solve this
伙计们请帮助我,我有这个简单的代码只是为了学习,我可以看到背景图像“etichetta_sfondo”,我什至可以看到条目小部件,但是如何放置条目图片中间的小部件,你怎么把它放在图片中间而不是上面呢?
from tkinter import *
from ctypes import windll
windll.shcore.SetProcessDpiAwareness(1)
window = Tk()
window.title("Gestione spese")
window.state("zoomed")
window.geometry("1500x770")
window.call('wm', 'iconphoto', window._w, PhotoImage(file="trasparente.png"))
testo_nuova_spesa = Entry(window,borderwidth=5,font=("Ink Free",20),width=9,bg="#f2f2f2")
testo_nuova_spesa.pack()
sfondo = PhotoImage(file="soldi.png")
etichetta_sfondo = Label(window,image=sfondo)
etichetta_sfondo.pack()
window.mainloop()
最简单的方法是使用 place
和 relative position
(以百分比表示)和 anchor
在 Entry
的中心
entry.place(relx=0.5, rely=0.5, anchor='center')
这将 Entry
置于 window
的中心
这看起来像在图像的中心,因为图像也在 window 的中心。
import tkinter as tk # PEP8: `import *` is not preferred
window = tk.Tk()
img = tk.PhotoImage(file="lenna.png")
label = tk.Label(window, image=img)
label.pack()
entry = tk.Entry(window, bg="white")
entry.place(relx=0.5, rely=0.5, anchor='center')
window.mainloop()
如果图像不在中心,那么您可以使用 Label
,因为 Entry
的 parent/master 和 place
将放置在 Label
的中心。
此示例将 Entry
置于秒 Label
的中心。
import tkinter as tk # PEP8: `import *` is not preferred
window = tk.Tk()
img = tk.PhotoImage(file="lenna.png")
label1 = tk.Label(window, image=img)
label1.pack()
label2 = tk.Label(window, image=img)
label2.pack()
entry = tk.Entry(label2, bg="white")
entry.place(relx=0.5, rely=0.5, anchor='center')
window.mainloop()
图片 Lenna 来自维基百科。
伙计们请帮助我,我有这个简单的代码只是为了学习,我可以看到背景图像“etichetta_sfondo”,我什至可以看到条目小部件,但是如何放置条目图片中间的小部件,你怎么把它放在图片中间而不是上面呢?
from tkinter import *
from ctypes import windll
windll.shcore.SetProcessDpiAwareness(1)
window = Tk()
window.title("Gestione spese")
window.state("zoomed")
window.geometry("1500x770")
window.call('wm', 'iconphoto', window._w, PhotoImage(file="trasparente.png"))
testo_nuova_spesa = Entry(window,borderwidth=5,font=("Ink Free",20),width=9,bg="#f2f2f2")
testo_nuova_spesa.pack()
sfondo = PhotoImage(file="soldi.png")
etichetta_sfondo = Label(window,image=sfondo)
etichetta_sfondo.pack()
window.mainloop()
最简单的方法是使用 place
和 relative position
(以百分比表示)和 anchor
在 Entry
entry.place(relx=0.5, rely=0.5, anchor='center')
这将 Entry
置于 window
这看起来像在图像的中心,因为图像也在 window 的中心。
import tkinter as tk # PEP8: `import *` is not preferred
window = tk.Tk()
img = tk.PhotoImage(file="lenna.png")
label = tk.Label(window, image=img)
label.pack()
entry = tk.Entry(window, bg="white")
entry.place(relx=0.5, rely=0.5, anchor='center')
window.mainloop()
如果图像不在中心,那么您可以使用 Label
,因为 Entry
的 parent/master 和 place
将放置在 Label
的中心。
此示例将 Entry
置于秒 Label
的中心。
import tkinter as tk # PEP8: `import *` is not preferred
window = tk.Tk()
img = tk.PhotoImage(file="lenna.png")
label1 = tk.Label(window, image=img)
label1.pack()
label2 = tk.Label(window, image=img)
label2.pack()
entry = tk.Entry(label2, bg="white")
entry.place(relx=0.5, rely=0.5, anchor='center')
window.mainloop()
图片 Lenna 来自维基百科。