Bild einfügen mit Tkinter

Fragen zu Tkinter.
Pascal
User
Beiträge: 271
Registriert: Samstag 4. April 2009, 22:18

Bild einfügen mit Tkinter

Beitragvon Pascal » Dienstag 7. April 2009, 09:27

Warum ich diese Frage hier reinschreibe?

Diese Frage wurde schon so oft gestellt, aber ich bekomms immernoch nicht hin :(

Also nochmal gaanz langsam...

wo muss ich überhaupt das Bild speichern damit es in mein Programm kommt ? ?

ich bin mir sicher ihr könnt mir helfen

Vielen Dank



Edit (27.05.09): Neue Frage dazu auf seite 3: http://www.python-forum.de/post-136849.html#136849
Zuletzt geändert von Pascal am Mittwoch 27. Mai 2009, 18:44, insgesamt 1-mal geändert.
EyDu
User
Beiträge: 4866
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Beitragvon EyDu » Dienstag 7. April 2009, 09:39

Du solltest vielleicht ein wenig Code posten, auf raten hat sicherlich niemand Lust. Außer jemand hat gerade /dev/glaskugel zur Hand.

Das falsche Unterforum hast du auch noch getroffen ;-)
Das Leben ist wie ein Tennisball.
Pascal
User
Beiträge: 271
Registriert: Samstag 4. April 2009, 22:18

Beitragvon Pascal » Dienstag 7. April 2009, 10:17

ohh ja ich habe das falsche Unterforum getrffen :s

na ja hier gehört es ja eigentlich hin
Pascal
User
Beiträge: 271
Registriert: Samstag 4. April 2009, 22:18

Beitragvon Pascal » Dienstag 7. April 2009, 10:21

http://www.python-forum.de/topic-3133.html

das ganze gab´s ja schonmal, aber bei mir geht´s nicht
derdon
User
Beiträge: 1316
Registriert: Freitag 24. Oktober 2008, 14:32

Beitragvon derdon » Dienstag 7. April 2009, 11:32

Achso, du hast bestimmt auch wie ich diese doofe Fehlermeldung bekommen:

Code: Alles auswählen

Traceback (most recent call last):
  File "<unknown>", line ?, in Nirvana
GehtNicht: Is nicht wegen geht nicht!


:lol:
Pascal
User
Beiträge: 271
Registriert: Samstag 4. April 2009, 22:18

Beitragvon Pascal » Dienstag 7. April 2009, 12:51

ich glaub Python will mir mit der Fehlermeldung irgendetwas informatives sagen.

So ein launisches Programm wie derdon es zu haben scheint, wär doch auch lustig ;)

Aber mein Problem ist folgenes:


Traceback (most recent call last):
File "C:\Python24\bild.py", line 4, in ?
photo = PhotoImage(file="test.gif")
File "C:\Python24\lib\lib-tk\Tkinter.py", line 3203, in __init__
Image.__init__(self, 'photo', name, cnf, master, **kw)
File "C:\Python24\lib\lib-tk\Tkinter.py", line 3159, in __init__
self.tk.call(('image', 'create', imgtype, name,) + options)
TclError: couldn't open "test.gif": no such file or directory
busfahrer
User
Beiträge: 111
Registriert: Donnerstag 9. Oktober 2008, 17:42

Beitragvon busfahrer » Dienstag 7. April 2009, 12:55

Hallo

so hat es bei mir funktioniert,wobei ich mir erst ein Paar mal
auf den Hinterkopf hauen mußte um zu merken das ich
ImageTk noch installieren muß :roll:

Code: Alles auswählen

#!/usr/bin/env python
# -*- coding: utf8 -*-

import Tkinter as tk
from PIL import Image
from ImageTk import PhotoImage

root = tk.Tk()
im = Image.open("/home/thomas/bild.jpg")
foto = PhotoImage(im)
can = tk.Canvas(root,width=500,height=500)
can.grid()
can.create_image(0,0,anchor=tk.NW,image=foto)

root.mainloop()


Gruß...busfahrer
Alles wird gut ;-)
EyDu
User
Beiträge: 4866
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Beitragvon EyDu » Dienstag 7. April 2009, 12:57

Die Fehlermeldung sagt doch ganz eindeutig, dass er "test.gif" nicht finden kann. Entweder heißt dein Bild also nicht "test.gif" oder es liegt im falschen Ordner. Pack das Bild mal in "C:\Python24". Überigens ein sehr schlechter Ort um Programme zu schreiben.
Das Leben ist wie ein Tennisball.
Pascal
User
Beiträge: 271
Registriert: Samstag 4. April 2009, 22:18

Bild als Frame

Beitragvon Pascal » Donnerstag 16. April 2009, 17:46

also:

als Button und Label klappt´s:

Hier einfach mal der Quellcode:


Code: Alles auswählen

from Tkinter import *
fenster = Tk() 
fenster.minsize(400,300)
photo = PhotoImage(file="test.gif") #test.gif liegt im selben Ordner wie das Programm
label = Label(image=photo)
label.image = photo
label.pack()

Button=Button(image=photo)
Button.image = photo
Button.pack()


aber wie bekomm ich das Bild in einen Frame?
Barabbas
User
Beiträge: 349
Registriert: Dienstag 4. März 2008, 14:47

Re: Bild als Frame

Beitragvon Barabbas » Donnerstag 16. April 2009, 18:32

Pascal hat geschrieben:also:

photo = PhotoImage(file="test.gif")


Ich glaube fast, dass du das Skript vom falschen Verzeichnis aus gestartet hast? Wenn du keine Pfadangabe machst, wird Python die Datei test.gif immer im aktuellen Verzeichnis suchen - und das ist nicht zwingend das Verzeichnis des Skriptes.
Pascal
User
Beiträge: 271
Registriert: Samstag 4. April 2009, 22:18

Re: Bild als Frame

Beitragvon Pascal » Donnerstag 16. April 2009, 18:43

Barabbas hat geschrieben:
Ich glaube fast, dass du das Skript vom falschen Verzeichnis aus gestartet hast?


solange es funktioniert is doch ok, oder?

aber wie geht das mit dem Bild als Frame...
derdon
User
Beiträge: 1316
Registriert: Freitag 24. Oktober 2008, 14:32

Beitragvon derdon » Donnerstag 16. April 2009, 18:49

"Hauptsache, es funktioniert" ist keine gute Einstellung für einen Programmierer. Benutze lieber das os.path Modul (speziell die Funktionen join und abspath werden in diesem Fall wohl interessant sein).
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

Re: Bild als Frame

Beitragvon numerix » Donnerstag 16. April 2009, 19:14

Pascal hat geschrieben:solange es funktioniert is doch ok, oder?


Nein! Siehe Kommentar von derdon.

Pascal hat geschrieben:aber wie geht das mit dem Bild als Frame...


Indem du z.B. ein Label mit Bild in einen Frame steckst ... :wink:
Benutzeravatar
wuf
User
Beiträge: 1367
Registriert: Sonntag 8. Juni 2003, 09:50

Beitragvon wuf » Donnerstag 16. April 2009, 19:20

Hallo Pascal

Hier ein Beispiel:
http://paste.pocoo.org/show/112854/

Gruss wuf :wink:
Zuletzt geändert von wuf am Donnerstag 16. April 2009, 22:20, insgesamt 1-mal geändert.
Take it easy Mates!
derdon
User
Beiträge: 1316
Registriert: Freitag 24. Oktober 2008, 14:32

Beitragvon derdon » Donnerstag 16. April 2009, 19:51

Nach 505 Posts zeigst du einem Anfänger ein reines except (das *unter anderen* NameError, KeyboardInterrupt und SyntaxError beinhaltet) als Beispiel? Und warum fangen deine Kommentare immer mit zwei ~ an?

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder