问题描述
我创建了这个基本的 Tkinter 图像查看器应用程序。此应用程序首先定义当前工作目录 (CWD) 中的所有图像对象。为此,我需要一个图像名称列表。为了从 CWD 获取图像名称列表,我使用 os 模块。
from tkinter import *
from PIL import ImageTk,Image
from os import listdir,path
from time import time
C=listdir()
B=[]
for i in C:
x=path.splitext(i)
if x[1] in [".jpeg",".jpg",".png",".gif",".JPG",".JPEG"]:
B.append(i)
qwe=len(B)
W=Tk()
W.iconbitmap("CWD_Images.ico")
W.state('zoomed')
W.title("CWD Images")
W.configure(background="#000033")
fnt=("Russo One",20)
Image_Object=Label(W)
name=Label(W)
img=[]
start=time()
for i in range(qwe): #Screen Resolution : 1366 x 768
print("Loading:",B[i])
sus=Image.open(B[i]).size
damn1=(sus[0]/sus[1])*580
damn2=(sus[1]/sus[0])*1350
if sus[1]>580: #and sus[1]>sus[0]
if damn1>1350:
globals()["img"+str(i)]=ImageTk.PhotoImage(Image.open(B[i]).resize((1350,round(damn2)),Image.ANTIALIAS))
else:
globals()["img"+str(i)]=ImageTk.PhotoImage(Image.open(B[i]).resize((round(damn1),580),Image.ANTIALIAS))
elif sus[0]>1350: #and sus[0]>sus[1]:
if damn2>580:
globals()["img"+str(i)]=ImageTk.PhotoImage(Image.open(B[i]).resize((round(damn1),Image.ANTIALIAS))
else:
globals()["img"+str(i)]=ImageTk.PhotoImage(Image.open(B[i]).resize((1350,Image.ANTIALIAS))
else:
globals()["img"+str(i)]=ImageTk.PhotoImage(Image.open(B[i]))
img.append(globals()["img"+str(i)])
stop=time()
print(">>> Load Completed In",stop-start,"Seconds <<<")
我使用
创建了一个 .exe 文件pyinstaller --onefile -w -i "Icon.ico" CWD_Images.py
.exe 文件在它创建的目录上运行良好,但在其他地方复制时无法执行。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)