Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 我想在tkinter中显示一个图像_Python_Tkinter - Fatal编程技术网

Python 我想在tkinter中显示一个图像

Python 我想在tkinter中显示一个图像,python,tkinter,Python,Tkinter,我有一个下拉列表。对于我从下拉列表中选择的每个项目,我都会在下拉列表下方显示一个与该项目相关的图像。我可以单独做,但不知道如何在tkinter中将它们放在一起 import tkinter as tk from PIL import Image, ImageTk fruitslist = [ "apple", "orange", "grapes", "banana" ] root =

我有一个下拉列表。对于我从下拉列表中选择的每个项目,我都会在下拉列表下方显示一个与该项目相关的图像。我可以单独做,但不知道如何在tkinter中将它们放在一起

import tkinter as tk
from PIL import Image, ImageTk
fruitslist = [
    "apple",
    "orange",
    "grapes",
    "banana"
]

root = tk.Tk()

root.geometry('100x200')

def selc(event):
    if clicked.get() == "orange":
        img = ImageTk.PhotoImage(Image.open("image.jpg"))
        la.configure(image=img)
        la.image = img
    else:
        print("no image")
        
la = tk.Label(root, text="hi")

clicked = tk.StringVar(root)
clicked.set(fruitslist[0])

drop = tk.OptionMenu(root, clicked, *fruitslist, command = selc)
drop.pack()

root.mainloop()

您可以将命令设置为
选项菜单
,并根据选择处理函数中的所有图像更改逻辑

import tkinter as tk
from PIL import ImageTk, Image

fruitslist = [
    "apple",
    "orange",
    "grapes",
    "banana"
]

app = tk.Tk()

fruits_dict = {}
for fruit_name in fruitslist:
    fruits_dict[fruit_name] = ImageTk.PhotoImage(Image.open("{}.png".format(fruit_name)))

app.geometry('100x200')

variable = tk.StringVar(app)
variable.set(fruitslist[0])


def change_image(e):
    print(e)  # selected option
    # print(variable.get())  # Also you can retrieve selected option from the var
    # Change image here
    my_image.config(image=fruits_dict[e])


opt = tk.OptionMenu(app, variable, *fruitslist, command=change_image)
opt.config(width=90, font=('Helvetica', 12))
opt.pack()

my_image = tk.Label(app)
my_image.pack()

app.mainloop()

您可以将命令设置为
选项菜单
,并根据选择处理函数中的所有图像更改逻辑

import tkinter as tk
from PIL import ImageTk, Image

fruitslist = [
    "apple",
    "orange",
    "grapes",
    "banana"
]

app = tk.Tk()

fruits_dict = {}
for fruit_name in fruitslist:
    fruits_dict[fruit_name] = ImageTk.PhotoImage(Image.open("{}.png".format(fruit_name)))

app.geometry('100x200')

variable = tk.StringVar(app)
variable.set(fruitslist[0])


def change_image(e):
    print(e)  # selected option
    # print(variable.get())  # Also you can retrieve selected option from the var
    # Change image here
    my_image.config(image=fruits_dict[e])


opt = tk.OptionMenu(app, variable, *fruitslist, command=change_image)
opt.config(width=90, font=('Helvetica', 12))
opt.pack()

my_image = tk.Label(app)
my_image.pack()

app.mainloop()

这回答了你的问题吗?这回答了你的问题吗?我已经在我原来的帖子中更新了代码。我没有收到任何错误,但我也没有看到tkinter窗口上的任何图像。请检查?更新了代码,确保
水果名
。png Existi已在我的原始帖子中更新了代码。我没有收到任何错误,但我也没有看到tkinter窗口上的任何图像。请检查?更新了代码,确保
水果名
.png存在