Anfängerfrage
Verfasst: Donnerstag 3. Januar 2008, 19:59
Hallo Forum ;D
ich arbeite mich gerade in Python ein und habe zwei komische Artefakte bei folgendem Grafik-Rumspiel-Skript:
(Kommentare sind für mich gedacht)
Zu den zwei Artefakten:
1.) Drücke ich auf "Ende", sehe ich an der Shell, dass das Programm beendet wird; das Fenster verschwindet aber nicht - irgendwann (nach hektischem Geklicke auf das Kreuz) kommt "Das Programm reagiert nicht...". - mit "Sofort beenden" verschwindet es dann. Warum das denn?
2.) Ich würde eigentlich eine sinusförmige Kurve von Kreisen erwarten, stattdessen kommt eine völlig abgedrehte Grafik (probiert's mal aus); habe ich ein Variablen-Problem (float vs. integer)?
Ich benutze Python 2.5 auf WinXP mit IDLE.
Vielen Dank im Voraus,
tomdest
ich arbeite mich gerade in Python ein und habe zwei komische Artefakte bei folgendem Grafik-Rumspiel-Skript:
Code: Alles auswählen
# -*- coding: cp1252 -*-
from Tkinter import *
from math import *
xAnfang=20
yAnfang=200
Versatz=3
Amplitude=2
Groesse=50
Teiler=10
def GrafikZeichnen():
for i in range(100):
x1=xAnfang+i*Versatz
x2=x1+Groesse
y1=yAnfang+i*Versatz*sin(i/Teiler)*Amplitude
print i, sin(i/Teiler), y1
y2=y1+Groesse
cnvGrafik.create_oval(x1,y1,x2,y2)
Haupt=Tk()
#Haupt-Frame erzeugen und setzen // bei .pack() funktioniert wegen .grid unten das .quit nicht!
Fenster=Frame(Haupt)
Fenster.grid()
# die Widgets
# # Zeichenflaeche
cnvGrafik=Canvas(Fenster, width=500, height=500, background='white')
# # Schalter "Start"
btnStart=Button(Fenster, text="Start", command=GrafikZeichnen)
# # Schalter "Ende"
btnEnde=Button(Fenster, text="Ende", command=Fenster.quit)
# Setzen der Komponenten mittels Gridmanager
cnvGrafik.grid(row=0, column=0, columnspan=5, sticky=W)
btnStart.grid(row=1, column=1, sticky=S)
btnEnde.grid(row=1, column=3, sticky=S)
# Hauptschleife
Haupt.mainloop()
Zu den zwei Artefakten:
1.) Drücke ich auf "Ende", sehe ich an der Shell, dass das Programm beendet wird; das Fenster verschwindet aber nicht - irgendwann (nach hektischem Geklicke auf das Kreuz) kommt "Das Programm reagiert nicht...". - mit "Sofort beenden" verschwindet es dann. Warum das denn?
2.) Ich würde eigentlich eine sinusförmige Kurve von Kreisen erwarten, stattdessen kommt eine völlig abgedrehte Grafik (probiert's mal aus); habe ich ein Variablen-Problem (float vs. integer)?
Ich benutze Python 2.5 auf WinXP mit IDLE.
Vielen Dank im Voraus,
tomdest