在 for 循环中使用背景(使用路径)制作更多 windows
Making more windows with backgrounds (using the paths) in a for loop
我是 python 的新手,我正在尝试此代码:
import random
from random import choice
import tkinter
from tkinter import messagebox
from tkinter import *
from tkinter.filedialog import askopenfilename
import sys
from PIL import ImageTk, Image
from tkinter import filedialog
import os
num_npcs = 2
num_img_tot = 100
npc_window = {}
canvas = {}
background_label = {}
for i in range(0, num_npcs,1):
num_img = round(random.uniform(0.5, num_img_tot+0.5))
npc_window["npc_window{0}".format(i)] = Tk()
canvas["canvas{0}".format(i)] = Canvas(npc_window["npc_window{0}".format(i)], bg="blue", height=250, width=300)
filename["canvas{0}".format(i)] = PhotoImage(file=base_folder + 'biome\'+str(char)+'\'+str(int) + '\'+str(num_img)+'.png')
background_label["background_label{0}".format(i)] = Label(npc_window["npc_window{0}".format(i)], image=filename["canvas{0}".format(i)])
background_label["background_label{0}".format(i)].place(x=0, y=0, relwidth=1, relheight=1)
canvas["canvas{0}".format(i)].pack()
但我可能有点搞砸了...我不习惯使用 GUI 之类的东西,实际上我正在试验。
顺便说一下,错误是:
_tkinter.TclError: image "pyimage2" doesn't exist
我正在尝试制作一个打开 X(随机)图像的程序,这就是我尝试 Tk() 的原因。
我也在 Windows 10 机器上使用 Pycharm。
pyimage2
错误可能是由于文件路径不正确造成的。改进 folfer 路径的建议:
base_folder = "base_folder"
alignment_list = [0.1, 0.2, 0.3]
integer_list = [1,2,3]
images = []
tk = Tk()
for alignment, integer in zip(alignment_list, integer_list):
image_name = "img" + str(integer) + ".png"
file_name = os.path.join(base_folder, "biome", str(alignment), str(integer), image_name)
print(file_name)
img = PhotoImage(file=file_name)
images.append(img)
给出
base_folder/biome/0.1/1/img1.png
base_folder/biome/0.2/2/img2.png
base_folder/biome/0.3/3/img3.png
我是 python 的新手,我正在尝试此代码:
import random
from random import choice
import tkinter
from tkinter import messagebox
from tkinter import *
from tkinter.filedialog import askopenfilename
import sys
from PIL import ImageTk, Image
from tkinter import filedialog
import os
num_npcs = 2
num_img_tot = 100
npc_window = {}
canvas = {}
background_label = {}
for i in range(0, num_npcs,1):
num_img = round(random.uniform(0.5, num_img_tot+0.5))
npc_window["npc_window{0}".format(i)] = Tk()
canvas["canvas{0}".format(i)] = Canvas(npc_window["npc_window{0}".format(i)], bg="blue", height=250, width=300)
filename["canvas{0}".format(i)] = PhotoImage(file=base_folder + 'biome\'+str(char)+'\'+str(int) + '\'+str(num_img)+'.png')
background_label["background_label{0}".format(i)] = Label(npc_window["npc_window{0}".format(i)], image=filename["canvas{0}".format(i)])
background_label["background_label{0}".format(i)].place(x=0, y=0, relwidth=1, relheight=1)
canvas["canvas{0}".format(i)].pack()
但我可能有点搞砸了...我不习惯使用 GUI 之类的东西,实际上我正在试验。 顺便说一下,错误是:
_tkinter.TclError: image "pyimage2" doesn't exist
我正在尝试制作一个打开 X(随机)图像的程序,这就是我尝试 Tk() 的原因。 我也在 Windows 10 机器上使用 Pycharm。
pyimage2
错误可能是由于文件路径不正确造成的。改进 folfer 路径的建议:
base_folder = "base_folder"
alignment_list = [0.1, 0.2, 0.3]
integer_list = [1,2,3]
images = []
tk = Tk()
for alignment, integer in zip(alignment_list, integer_list):
image_name = "img" + str(integer) + ".png"
file_name = os.path.join(base_folder, "biome", str(alignment), str(integer), image_name)
print(file_name)
img = PhotoImage(file=file_name)
images.append(img)
给出
base_folder/biome/0.1/1/img1.png
base_folder/biome/0.2/2/img2.png
base_folder/biome/0.3/3/img3.png