Изображение отображается на неправильном экране в tkinter - PullRequest
0 голосов
/ 03 августа 2020

Я относительно новичок в кодировании, и я пытаюсь отобразить изображение на tkinter, у меня он установлен, поэтому, когда вы нажимаете кнопку на первом экране, он открывается на другой экран - у меня все нормально работает, моя проблема в том, что когда открывается новое окно, изображение, которое должно быть на втором экране, переходит на первый экран, и я не могу понять, как это исправить. Я не получаю никаких ошибок, я просто помещаю изображение в середину первого экрана, надеюсь, это имеет смысл. Спасибо

Код ниже: (для второго экрана, который должен отображать изображение, но его нет)

from tkinter import *



window2 = Tk()
window2.geometry("1920x1200")

Namearea = Label(window2, text = "Please Name the Prebuild: ")

Namearea.pack()

e = Entry(window2, width=50, borderwidth=3, bg="Light Grey", fg="black")
e.pack()
e.insert(0, "Remove this text and Enter the name of your prebuild: ")


# this is the part for the image    
img3 = PhotoImage(file=r"C:\Tkinter\ComputerImage.png ")
picture1 = Label(image=img3)
picture1.pack()



SaveAndContinue = Button(window2, text = "Save and Return to Main Menu", padx = 75, pady = 20, bg = "Light Grey")

SaveAndContinue.pack()


LinkTitle = Label(window2, text = "Here are some links to purchase the parts from:")
Link1 = Label(window2, text = "Scorptec: www.scorptec.com.au/")
Link2 = Label(window2, text = "Centre-Com: www.centrecom.com.au/")


LinkTitle.pack()
Link1.pack()
Link2.pack()

  

Ответы [ 2 ]

1 голос
/ 03 августа 2020

Поскольку вы использовали несколько экземпляров Tk() (один для первого окна, один для второго окна), вам необходимо указать родительский элемент для picture1 и img3:

img3 = PhotoImage(master=window2, file=r"C:\Tkinter\ComputerImage.png")
picture1 = Label(window2, image=img3)
picture1.pack()

Однако, вам следует избегать использования нескольких экземпляров Tk(). Лучше изменить второй экземпляр Tk() на Toplevel().

0 голосов
/ 03 августа 2020

Эй, вы забыли упомянуть имя окна в picture1 = Label(image=img3)

вот правильная ошибка

# this is the part for the image    
img3 = PhotoImage(file=r"C:\\Tkinter\\ComputerImage.png ")
picture1 = Label(window2,image=img3)
picture1.pack()

И error error _tkinter.TclError: image "pyimage4" doesn't exist - Вы должны использовать Toplevel() в второе окно

window2=Toplevel ()

У меня работает

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...