python - 从课堂调用时图像未出现
问题描述
不知道发生了什么,但我无法让 Test_Image.jpg 出现,文本看起来不错。
我正在使用 PyCharm 作为我的 IDE(现在只是提供随机信息,堆栈溢出希望我这样做)我已经对这个主题进行了一些搜索,但没有得到任何帮助......
# - Script Handler
# ==== Script Info ====
# 6 / 10 / 2020
# Gun_Generator.Script_Handler.py
# ==== Description ===
# Takes information from other scripts and displays them on a GUI
# ==== Code ====
# Imports Packages
import PIL.Image
from PIL import ImageTk
from tkinter import *
import os
class GUI_Controler:
def __init__(self, width, height):
self.instance_Window = None
self.temp_Canvas = None
self.CreateWindow(width, height)
def CreateWindow(self):
self.instance_Window = Tk(className = "NAME")
def CreateWindow(self, width, height):
self.instance_Window = Tk(className = "NAME")
self.instance_Window.minsize(width, height)
def Load_Image(self, image_To_Load):
loadedImage = PIL.Image.open(str(image_To_Load))
self.convertedImage = PhotoImage(file = image_To_Load)
self.temp_Canvas = Canvas(self.instance_Window, height=self.instance_Window.winfo_height(), width=self.instance_Window.winfo_width())
self.temp_Canvas.pack()
self.temp_Canvas.create_image(0, 0, image=self.convertedImage, anchor=CENTER)
loadedImage.save("C:/Users/Luke's PC/PycharmProjects/Gun_Generator/Resources/Images/Tests/Test_Image_SAVED.png")
def Load_Text(self, text):
text_label = Label(self.instance_Window, text = text)
text_label.pack()
resource_dir = "C:/Users/Luke's PC/PycharmProjects/Gun_Generator/Resources"
main = GUI_Controler(750, 500)
main.Load_Image(resource_dir + "/Images/Tests/Test_Image.jpg")
main.Load_Text("test")
mainloop()
解决方案
我已经检查了您的代码,从您的班级中加载图像没有任何问题。但是,我注意到 create_image 在这里引起了问题。我不完全确定为什么,但我可以回答您的问题,向您展示如何使用标签图像在小部件上显示您的图像。
# - Script Handler
# ==== Script Info ====
# 6 / 10 / 2020
# Gun_Generator.Script_Handler.py
# ==== Description ===
# Takes information from other scripts and displays them on a GUI
# ==== Code ====
# Imports Packages
import PIL.Image
from PIL import ImageTk
from tkinter import *
import os
class GUI_Controler:
def __init__(self, width, height):
self.instance_Window = None
self.temp_Canvas = None
self.CreateWindow(width, height)
def CreateWindow(self):
self.instance_Window = Tk(className = "NAME")
def CreateWindow(self, width, height):
self.instance_Window = Tk(className = "NAME")
self.instance_Window.minsize(width, height)
def Load_Image(self, image_To_Load):
loadedImage = PIL.Image.open(str(image_To_Load))
self.convertedImage = PhotoImage(file = image_To_Load)
self.temp_Canvas = Canvas(self.instance_Window, height=self.instance_Window.winfo_height(), width=self.instance_Window.winfo_width())
self.temp_Canvas.pack()
label=Label(self.temp_Canvas, image=self.convertedImage, width=400, height=400)
label.pack(side=TOP)
loadedImage.save("C:/Users/Luke's PC/PycharmProjects/Gun_Generator/Resources/Images/Tests/Test_Image_SAVED.png")
def Load_Text(self, text):
text_label = Label(self.instance_Window, text = text)
text_label.pack()
resource_dir = "C:/Users/Luke's PC/PycharmProjects/Gun_Generator/Resources"
main = GUI_Controler(750, 500)
main.Load_Image(resource_dir + "/Images/Tests/Test_Image.jpg")
main.Load_Text("test")
mainloop()
推荐阅读
- c# - 正确通过 foreach 循环中的日期列表
- java - 将java的小数点四舍五入而不重新分配给新变量
- reactjs - 使用 filepond 文件上传器和另一个输入字段将表单数据提交到后端
- php - 如何使用 php 将时间字符串 'March, 05 2019 08:37:32 +0000' 转换为 '2019-03-05 08:37:32'
- php - PHP Laravel Dusk 使用美国日期时间格式
- java - JDK 7 和 8 中的 new String(byte []) 结果不同
- javascript - Vue.js 组件白屏
- javascript - IE 11 不显示列表框项
- jena - fuseki 可以配置为使用两种不同类型的数据集来创建联合数据集吗?
- javascript - 如何清除 mapbox 地理编码器?