【问题标题】:Image not appearing when called from class [closed]从类调用时图像未出现[关闭]
【发布时间】:2020-06-11 06:52:58
【问题描述】:

不确定发生了什么,但我无法让 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()

【问题讨论】:

标签: python tkinter python-imaging-library


【解决方案1】:

我已经检查了您的代码,从您的课程中加载图像没有任何问题。但是,我注意到 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()

【讨论】:

  • 谢谢!这完美无缺
  • 没问题。你可以接受我的回答:)
猜你喜欢
  • 2014-09-30
  • 2012-12-18
  • 1970-01-01
  • 2016-11-08
  • 1970-01-01
  • 1970-01-01
  • 2021-09-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多