Image in Fenster laden mal geht es mal nicht
Verfasst: Montag 20. März 2023, 22:54
Hallo Python-Pros,
ich bin neu im Forum und gerade dabei Python zu lernen, Ziel ist es einige Astroprogramme zur Bildauswertung zu schreiben (spez. Fits-Dateien). Jetzt kämpfe ich noch damit die Python-Systematik zu erlernen und lauffähigen Programmcode zu schreiben. Ich habe Anaconda3 installiert und benutze Spyder (Python3.9)
Folgende Zeilen laufen ohne Fehler alleinstehend:
Ich habe folgende Zeilen und möchte das o.g. geschriebene einfügen
Ich möchte über das Menü "Bild laden" ein Image-Datei öffnen und im Fenster abbilden aber egal was ich mache bekomme ich das nicht hin, kann mir jemand schreiben woran das liegt.
Oder habe ich da einen grundsätzlichen Fehler?
Fehleranzeige Console:
self.tk.call(
_tkinter.TclError: image "pyimage1" doesn't exist
Vielen Dank im Voraus LG
Hampo
ich bin neu im Forum und gerade dabei Python zu lernen, Ziel ist es einige Astroprogramme zur Bildauswertung zu schreiben (spez. Fits-Dateien). Jetzt kämpfe ich noch damit die Python-Systematik zu erlernen und lauffähigen Programmcode zu schreiben. Ich habe Anaconda3 installiert und benutze Spyder (Python3.9)
Folgende Zeilen laufen ohne Fehler alleinstehend:
Code: Alles auswählen
from tkinter import *
import tkinter as aHF
HFb = 625
HFh = 418
HFx = 10
HFy = 10
HF = aHF.Tk()
HF.title("TEXT")
HF.geometry("%dx%d" % (HFb, HFh))
HF.geometry("+%d+%d" % (HFx, HFy))
logo = PhotoImage(file="D:/neu.png")
w1 = Label(HF, image=logo).pack(side="left")
HF.mainloop()
Code: Alles auswählen
from tkinter import *
import tkinter as aHF
import tkinter as aZF
import tkinter as aCF
import tkinter as aMF
#HF = Tk()
def mausli(event):
#print("Pos = "+ str(event.x)+ " - "+ str(event.y))
x, y = event.x, event.y
T.delete('0.0', 'end')
T.insert (END,'linksClick\n')
T.insert (END,'X= {},Y= {}'.format(x, y))
def mausra(event):
x, y = event.x, event.y
T.delete('0.0', 'end')
T.insert (END,'RadClick\n')
T.insert (END,'X= {},Y= {}'.format(x, y))
def mausre(event):
x, y = event.x, event.y
T.delete('0.0', 'end')
T.insert (END,'rechtsClick\n')
T.insert (END,'X= {},Y= {}'.format(x, y))
def mausro(event):
x, y = event.x, event.y
T.delete('0.0', 'end')
T.insert (END,'RadRoll\n')
T.insert (END,'X= {},Y= {}'.format(x, y))
def bewegung(event):
x, y = event.x, event.y
print('{}, {}'.format(x, y))
T.delete('0.0', 'end')
T.insert (END, 'X= {},Y= {}'.format(x, y))
# Menü Datei
def alleszu():
MF.quit()
MF.destroy()
CF.quit()
CF.destroy()
ZF.quit()
ZF.destroy()
HF.quit()
HF.destroy()
# Menü MyMenü funkt noch nicht!!
def bildladen():
logo = PhotoImage(file="C:/neu.png")
w1 = Label(HF, image=logo).pack(side="left")
T.delete('0.0', 'end')
T.insert (END, "Bild geladen")
#Fenstergrößen
HFb = 625
HFh = 418
CFb = HFb
CFh = 250
MFb = 100
MFh = 100
ZFb = 63*5
ZFh = 42*5
#Fensterposition Monitor
abstand = 5
menu = 30
CFx = abstand
CFy = abstand
HFx = CFx
HFy = CFh + abstand * 2 + menu
MFx = abstand + HFb + abstand
MFy = abstand
ZFx = MFx
ZFy = abstand + MFh + menu + abstand
#Fenster Einblenden
CF = aCF.Tk()
CF.title("Control-Fenster CF")
CF.geometry("%dx%d" % (CFb, CFh))
CF.geometry("+%d+%d" % (CFx, CFy))
HF = aHF.Tk()
HF.title("AstroProg V1.0")
HF.geometry("%dx%d" % (HFb, HFh)) #Fenstergröße
HF.geometry("+%d+%d" % (HFx, HFy)) #Fensterposition
MF = aMF.Tk()
MF.title("Maus-Fenster MF")
MF.geometry("%dx%d" % (MFb, MFh))
MF.geometry("+%d+%d" % (MFx, MFy))
ZF = aZF.Tk()
ZF.title("Zoom-Fenster ZF")
ZF.geometry("%dx%d" % (ZFb, ZFh))
ZF.geometry("+%d+%d" % (ZFx, ZFy))
#Fenstergröße für XY-Werte Ausgabe
T = Text(CF, height=2, width=15)
T.place(x=100, y=120, ) #???
T.pack() #???
#Maustasten erkennen
HF.bind("<Button-1>", mausli)
HF.bind("<Button-2>", mausra)
HF.bind("<Button-3>", mausre)
HF.bind("<MouseWheel>", mausro)
HF.bind("<Enter>", mausli)
HF.bind("<Leave>", mausli)
#HF.bind("<Motion>", mausli) # Mausbewegung
HF.bind('<Motion>', bewegung)
menuleiste = Menu(HF)
datei_menu = Menu(menuleiste, tearoff=0)
help_menu = Menu(menuleiste, tearoff=0)
mymenu_menu = Menu(menuleiste, tearoff=0)
datei_menu.add_command(label="ENDE", command=alleszu)
mymenu_menu.add_command(label="Bild laden", command=bildladen)
menuleiste.add_cascade(label="Datei", menu=datei_menu)
menuleiste.add_cascade(label="Help", menu=help_menu)
menuleiste.add_cascade(label="MyMenu", menu=mymenu_menu)
HF.config(menu=menuleiste)
HF.mainloop()
Oder habe ich da einen grundsätzlichen Fehler?
Fehleranzeige Console:
self.tk.call(
_tkinter.TclError: image "pyimage1" doesn't exist
Vielen Dank im Voraus LG
Hampo