Hallo!
Könnte mir jemand ein simples Beispiel posten wie mal auf der Drawing Area zeichnet? Ich bin scheinbar zu doof dazu
grüße,
Leonidas
DrawingArea Beispiel
-
- Python-Forum Veteran
- Beiträge: 2010
- Registriert: Freitag 11. Oktober 2002, 18:00
- Wohnort: Salzburg
- Kontaktdaten:
Hi Leonidas,
mein gtk-Beispiel -> http://python.sandtner.org/viewtopic.php?t=2502
und das aus dem Tutorial -> http://localhost/doc/python-gtk2-tutori ... thods.html
hast du dir schon angeschaut?
Du brauchst bevor du zeichnest einen Graphiccontext und gezeichnet wird dann in dem drawable - drawingarea.window.
Gruß
Dookie
mein gtk-Beispiel -> http://python.sandtner.org/viewtopic.php?t=2502
und das aus dem Tutorial -> http://localhost/doc/python-gtk2-tutori ... thods.html
hast du dir schon angeschaut?
Du brauchst bevor du zeichnest einen Graphiccontext und gezeichnet wird dann in dem drawable - drawingarea.window.
Gruß
Dookie
[code]#!/usr/bin/env python
import this[/code]
import this[/code]
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Ja, habe ich beides angeschaut, aber werde daraus nicht wirklich schlau. Folgendes habe ich zusammengebastelt:
Ich habe zwar ein DrawingArea, auch mit einer Größe, nur die Farbe konnte ich noch setzen. Und wie ich dort einen Strich oder sonstwas hinmale weiß ich auch noch nicht.
Code: Alles auswählen
#!/usr/bin/env python
# -*- encoding: latin-1 -*-
import gtk
width = 100
height = 50
class TurtleWindow:
def __init__(self):
self.window = gtk.Window()
self.window.connect("delete_event", self.delete_event)
self.drawing_area = gtk.DrawingArea()
self.drawing_area.set_size_request(width, height)
self.drawing_area.connect("expose-event", self.expose_event)
self.drawing_area.show()
self.window.add(self.drawing_area)
self.window.show()
self.drawable = self.drawing_area.window
self.gc = self.drawable.new_gc()
color = gtk.gdk.Color(red=255, green=25552, blue=0)
self.gc.set_foreground(color)
self.gc.set_background(color)
def delete_event(self, widget, event, data=None):
gtk.main_quit()
return False
def expose_event(self, area, event):
w, h = self.drawable.get_size()
print w,h
if __name__ == '__main__':
tw = TurtleWindow()
gtk.main()
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
-
- Python-Forum Veteran
- Beiträge: 2010
- Registriert: Freitag 11. Oktober 2002, 18:00
- Wohnort: Salzburg
- Kontaktdaten:
Hi Leonidas,
du musst auf den realize-event warten, erst dann existiert das Widget auch auf dem Bildschirm. Dann kannst du in das drawable das du über drawingarea.window erreichst etwas zeichnen.
Gruß
Dookie
du musst auf den realize-event warten, erst dann existiert das Widget auch auf dem Bildschirm. Dann kannst du in das drawable das du über drawingarea.window erreichst etwas zeichnen.
Gruß
Dookie
[code]#!/usr/bin/env python
import this[/code]
import this[/code]
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Super, ich habe es geschafft. Danke Dookie! Jetzt werde ich sicher noch eine Menge Spaß damit haben
Jetzt nochmal ein funktionierendes Beispiel:
Damit wird ein kleines Fenster erstellt, in das ein kleiner Punkt reingemalt wird.
Jetzt nochmal ein funktionierendes Beispiel:
Code: Alles auswählen
#!/usr/bin/env python
# -*- encoding: latin-1 -*-
import gtk
width = 100
height = 50
class TurtleWindow:
def __init__(self):
# Fenster erstellen
self.window = gtk.Window()
self.window.connect("delete_event", self.delete_event)
# DrawingArea erstellen
self.drawing_area = gtk.DrawingArea()
self.drawing_area.set_size_request(width, height)
self.drawing_area.connect("expose-event", self.expose_event)
self.drawing_area.show()
# Kombinieren
self.window.add(self.drawing_area)
self.window.show()
# Drawable und GraphicsContext bekommen
self.drawable = self.drawing_area.window
self.gc = self.drawable.new_gc()
def delete_event(self, widget, event, data=None):
gtk.main_quit()
return False
def expose_event(self, area, event):
w, h = self.drawable.get_size()
#print w,h
# Farben
color = gtk.gdk.Color(red=255, green=25552, blue=0)
self.gc.set_foreground(color)
self.gc.set_background(color)
# Punkt malen
self.drawable.draw_point(self.gc, 10, 10)
if __name__ == '__main__':
tw = TurtleWindow()
gtk.main()
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice