python - 背景图像未出现在 tkinter 中
问题描述
我正在尝试在我的 tkinter 项目中放置背景图像,但尽管进行了多次尝试,但它根本没有出现。
这是代码:
import tkinter
from PIL import ImageTk,Image
show_screen = tkinter.Tk()
show_screen.geometry('900x900')
show_screen.title("LEARNTECH OPE")
img_show = Image.open("C:\PYTHON IDE\RemoteProctoring_Featured.png")
show_image = ImageTk.PhotoImage(img_show)
show_label = tkinter.Label(show_screen,font=("Arial Bold",10),fg="blue",
text="FILL THE NECESSARY DETAILS GIVEN BELOW")
show_label.place(x=600,y=0)
enter_field = tkinter.Entry(show_screen,width=50)
enter_field.place(x=600,y=200)
def clicked():
ref = "Welcome" + enter_field.get()
show_label.configure(text=ref)
show_button = tkinter.Button(show_screen,text="CLICK TO EXIT",
fg="green",command=clicked).place(x=600,y=400)
show_screen.mainloop()
解决方案
正如我在评论中所说,图像只能作为某些tkinter
小部件的一部分显示。下面是通过将图像放入Label
. 我还添加了代码来调整图像大小以填充窗口(在您的代码中也称为“屏幕”)。
import tkinter
from PIL import ImageTk, Image
WIDTH, HEIGHT = 900, 900
IMG_PATH = r"C:\PYTHON IDE\RemoteProctoring_Featured.png" # Note 'r' prefix.
show_screen = tkinter.Tk()
show_screen.geometry('{}x{}'.format(WIDTH, HEIGHT))
show_screen.title("LEARNTECH OPE")
# Place background image on a Label widget.
tmp_img = Image.open(IMG_PATH).resize((WIDTH, HEIGHT), Image.ANTIALIAS)
bkg_img = ImageTk.PhotoImage(tmp_img)
bkg_label = tkinter.Label(show_screen, image=bkg_img)
bkg_label.img = bkg_img # Keep a reference in case this code put is in a function.
bkg_label.place(relx=0.5, rely=0.5, anchor='center') # Place in center of window.
enter_field = tkinter.Entry(show_screen,width=50)
enter_field.place(x=600,y=200)
show_label = tkinter.Label(show_screen,font=("Arial Bold",10),fg="blue",
text="FILL THE NECESSARY DETAILS GIVEN BELOW")
show_label.place(x=600,y=0)
def clicked():
ref = "Welcome " + enter_field.get()
show_label.configure(text=ref)
show_button = tkinter.Button(show_screen,text="CLICK TO EXIT",
fg="green",command=clicked)
show_button.place(x=600,y=400)
show_screen.mainloop()
推荐阅读
- c++ - 矢量合并排序()没有任何反应
- javascript - 在 Zapier 中使用 Javascript 代码返回两个字母的 ISO 国家代码
- amazon-web-services - 如何在 AWS 上部署基础设施即代码
- php - 禁用动态向导表单输入
- ios - 在 iOS 13 上实例化 ViewController 崩溃
- python - 混合数据的有效网络不兼容大小
- apache-spark - Impala Hive 和 Spark Parquet 文件格式大小
- c++ - 将字符串列表拆分为组件
- vb.net - VB.NET设置密码长度保存在数据库中
- java - Java初学者;复制简单示例代码后出现错误?我的配置是不是乱了?