Wenn ich das Programm starte, wartet es zuerst, bis ich Eingabe eintrage, dann wird es den Ton spielen, dann zeigt es das Fenster mit meinem Bild an. Warum macht es das nicht in Ordnung?Python-Funktionen werden in falscher Reihenfolge ausgeführt, warum?
from tkinter import *
import winsound
main = Tk()
main.state('zoomed')
main.geometry("1366x768")
# Displays a gif.
def show():
dollar_canvas = Canvas(width=50, height=50, bg='lightgrey', highlightthickness=0)
dollar_canvas.place(x=850, y=25)
my_gif = PhotoImage(file='Dollar50x50.gif')
dollar_canvas.image = my_gif
dollar_canvas.create_image(0, 0, image=my_gif, anchor=NW)
# Accepts an input, such as enter.
def getinput():
a = input()
# Plays a ring sound.
def play():
winsound.PlaySound('money', winsound.SND_ALIAS)
show()
getinput()
play()
mainloop()
Ohne eine laufende 'Hauptschleife()' Tkinter funktioniert nicht wirklich (wie zeigt Windows, etc.) –
Nicht sicher, dass ich verstehe. Ich habe die Hauptschleife() an der Unterseite. Wenn ich die getinput() Zeile wegkomment, läuft sie immer noch, aber spielt den Sound ab, bevor das Dollarzeichen gif angezeigt wird. Ich möchte, dass diese der Reihe nach ausgeführt werden. Warum spielt es zuerst den Ton? – RAPTORp
Entschuldigung für meine Ignoranz, ich habe gerade angefangen, Python und Tkinter zu lernen. Ich werde ein wenig ausarbeiten: Ich mache nebenbei Lieferungen und schreibe ein Programm, um meine Summen zu verfolgen. Er akzeptiert sechs Einträge, berechnet Summen, schreibt sie in eine Datei und zeigt sie in einer Listbox an. Es funktioniert perfekt ... aber dann ... Ich entschied, dass es cool wäre, einen "cha-ching" Sound zu spielen und eine Dollarzeichen-Grafik auf dem Fenster anzuzeigen, nachdem ich einen neuen Lieferrekord eingegeben habe. Es spielt zuerst den Ton und zeigt dann das gif. Ich möchte, dass das Gif zuerst erscheint, dann der Sound. Es macht sie außer Betrieb. Nicht sicher warum. – RAPTORp