ich bin gerade am Python lernen. Ich schreibe eine API für einen Musikplayer. Diese soll Musik abspielen/Pausieren, Lautstärke ändern und so weiter.
Es hatte auch alles super funktioniert bis ich es in Klassen ausgegliedert habe) Es wird kein Fehler angezeigt.
Die Images werden nicht angezeigt und auch keine Reaktion auf das leere Kästchen im Fenster.
## Code wurde gekürzt
Code: Alles auswählen
import tkinter as tk
import volume # Lautstaerke_Klasse
import requests
class Tidalplayer:
url = '[u]MeineURL[/u]'
urlStatus = "[u]StatusURL[/u]"
def __init__(self, url):
self.url = url
self.play = False
self.status = False
def tidal_music_pause(self):
res = requests.get(self.url + 'Pause'')
print(res)
def tidal_music_skip(self):
res = requests.get(self.url + 'Skip')
print(res)
def tidal_music_back(self):
res = requests.get(self.url + 'Back')
print(res)
def tidal_music_play(self):
self.play
if self.play == False:
res = requests.get(self.url + 'LoadURL')
self.play = True
print(res)
else:
res = requests.get(self.url + 'Play')
print(res)
return res
# das funktioniert auch noch nicht richtig, weiß nicht wie ich es ins Label übergeben kann und regelmäßig aktualisiert wird,
# habe es bisher nur mit "After" versucht. Aber da würde ich mich weiter dran machen, so bald der Grundplayer wieder funktioniert. :/
def get_element_from_status(self, tag):
t_left = f"<{tag}>"
t_right = f"</{tag}>"
title = requests.get(self.urlStatus)
status_title= title.text
return status_title[status_title.index(t_left)+len(t_left):status_title.index(t_right)]
def current_title(self):
return self.get_element_from_status('name')
def current_artist(self):
return self.get_element_from_status('artist')
class TidalPlayerApp:
def __init__(self):
self.tidalplayer = Tidalplayer('URL')
self.main_window = tk.Tk()
self.main_window.geometry("500x260+100+100")
self.main_window.title("Tidalplayer")
self.create_widgets()
def create_widgets(self):
self.create_title_frame()
self.create_button_frame()
self.create_playlist_frame()
self.create_volume_buttons()
# Rahmen für Titel
def create_title_frame(self):
title_frame = tk.Frame(self.main_window, bg="blue")
title_frame.pack(side='top', pady=3, padx=10)
title = tk.Label(title_frame, text="kommt")
title.grid(row=5, column=2, padx=10, pady=10)
# die Images werden nicht angezeigt
def create_button_frame(self):
# Rahmen für Tasten
button_frame = tk.Frame(self.main_window)
button_frame.pack(padx=10, pady=10)
#Play Taste
play_photo = tk.PhotoImage(file="image/play.png")
play_button = tk.Button(button_frame, image=play_photo, text="Play", command=self.tidalplayer.tidal_music_play)
play_button.grid(row=0, column=2, padx=10)
# Pause Taste
pause_photo = tk.PhotoImage(file="image/pause.png")
pause_button = tk.Button(button_frame, image=pause_photo, text="Pause", command=self.tidalplayer.tidal_music_pause)
pause_button.grid(row=0, column=1, padx=10)
# Weiter Taste
skip_photo = tk.PhotoImage(file="image/skip.png")
skip_button = tk.Button(button_frame, image=skip_photo, text="Skip", command=self.tidalplayer.tidal_music_skip)
skip_button.grid(row=0, column=4, padx=10)
# Zurück Taste
back_photo = tk.PhotoImage(file="image/back.png")
back_button = tk.Button(button_frame, image=back_photo, command= self.tidalplayer.tidal_music_back)
back_button.grid(row=0, column=0, padx=10 )
# Rahmen für Playlist
def create_playlist_frame(self):
playlist_frame = tk.Frame(self.main_window, bg='#FFCFC9')
playlist_frame.place(x=110, y=150, width=280, height=30)
playlist = tk.Listbox(master=playlist_frame, selectmode='browse')
playlist.pack()
# Lautstärke
def create_volume_buttons(self):
[u]der Code funktioniert[/u]
def run(self):
self.main_window.mainloop()
app = TidalPlayerApp()
app.run()

Bin noch recht am Anfang meines Lernen.
Lieben Dank für alle Mühen im Voraus