Jpg anzeigen ... *auf schlauch steh*

Fragen zu Tkinter.
Artes
User
Beiträge: 6
Registriert: Freitag 24. Februar 2006, 22:18

Jpg anzeigen ... *auf schlauch steh*

Beitragvon Artes » Freitag 24. Februar 2006, 22:26

Also ...

ich habe mich nun in knapp 24 Stunden soweit durchgewuselt das ich wenigstens was habe, was man sich anschauen kann...

Nur würde ich gerne noch eine Grafik einbinden die man halt sehen kann und, trotz intensivem suchen hier im Forum, hab ich es wohl überlesen oder nicht gefunden ...

Ich würde mir gerne aus dem Pfad /images/ die Datei logo.jpg darstellen lassen und zwar über dem Text ...

Nicht wundern das es rückwärts geht im Alphabet, habe es anhand von Tutorials geschrieben und einfach immer erweitert...

[code=]
from Tkinter import*
top = Tk()
dir(top)
F = Frame(top)
F.pack()
lHallo = Label(F,text="Dies ist der XXXXXX-Starter aber noch im Bau!")
lHallo.pack()
E = Frame(top)
E.pack()
kHallo = Label(E,text="Ich kann noch nicht einmal gut aussehen!")
kHallo.pack()
D = Frame(top)
D.pack()
dHallo = Label(D,text="Nur halt da sein, und nicht mehr und noch viel weniger!")
dHallo.pack()
F.master.title("XXXXXX-Starter @ By Artes 2006")
bQuit = Button(D,text="Schliessen",command=D.quit)
bQuit.pack()
top.mainloop()[/code]

Vllt. kann mir ja einer helfen ... habe mir auch PIL gedownloadet, aber hilft mir momentan nicht wirklich weiter... leider

Liebe Grüße

Artes
Benutzeravatar
Mr_Snede
User
Beiträge: 387
Registriert: Sonntag 8. Februar 2004, 16:02
Wohnort: D-Dorf, Bo

Beitragvon Mr_Snede » Samstag 25. Februar 2006, 01:28

ohne deinen Code zu verändern sieht es so aus:
(siehe Thread)

Code: Alles auswählen

from Tkinter import*
top = Tk()
dir(top)

c = Canvas(top, width="2c",height="2c")
c.pack()
bild = PhotoImage(file=r"/pfad/zum/bild.gif")
c.create_image(0, 0, anchor=NW, image=bild)

F = Frame(top)
F.pack()
lHallo = Label(F,text="Dies ist der XXXXXX-Starter aber noch im Bau!")
lHallo.pack()
E = Frame(top)
E.pack()
kHallo = Label(E,text="Ich kann noch nicht einmal gut aussehen!")
kHallo.pack()
D = Frame(top)
D.pack()
dHallo = Label(D,text="Nur halt da sein, und nicht mehr und noch viel weniger!")
dHallo.pack()
F.master.title("XXXXXX-Starter @ By Artes 2006")
bQuit = Button(D,text="Schliessen",command=D.quit)
bQuit.pack()
top.mainloop()



Achte bitte auf:

Code: Alles auswählen

bQuit = Button(top,text="Schliessen",command=top.quit)

du willst top schließen und nicht den Frame d oder habe ich das falsch verstanden?


Warum legst du die Textlables alle auf eigene Frames?
hier ohne

Code: Alles auswählen

from Tkinter import*

top = Tk()

c = Canvas(top, width="2c",height="2c")
c.pack()
bild = PhotoImage(file=r"/pfad/zum/bild.gif")
c.create_image(0, 0, anchor=NW, image=bild)

Hallo = Label(top,text="Dies ist der XXXXXX-Starter aber noch im Bau!")
Hallo.pack()

kHallo = Label(top,text="Ich kann noch nicht einmal gut aussehen!")
kHallo.pack()

dHallo = Label(top,text="Nur halt da sein, und nicht mehr und noch viel weniger!")
dHallo.pack()

bQuit = Button(top,text="Schliessen",command=top.quit)
bQuit.pack()


und weils so schön ist hier noch einer:

Code: Alles auswählen

rom Tkinter import*

top = Tk()

mehrzeiliger_text = """Dies ist der XXXXXX-Starter aber noch im Bau!
Ich kann noch nicht einmal gut aussehen!
Nur halt da sein, und nicht mehr und noch viel weniger!
"""

c = Canvas(top, width="5c",height="5c")
c.pack()
bild = PhotoImage(file=r"/pfad/zum/bild.gif")
c.create_image(0, 0, anchor=NW, image=bild)

Hallo = Label(top,text=mehrzeiliger_text)
Hallo.pack()

bQuit = Button(top,text="Schliessen",command=top.quit)
bQuit.pack()

top.mainloop()


pil ist doch schon in Python enthalten oder irre ich mich da?
Benutzeravatar
Hannes-Spz
User
Beiträge: 123
Registriert: Sonntag 7. August 2005, 22:42

Beitragvon Hannes-Spz » Samstag 25. Februar 2006, 15:14

nein, leider ist die Python-Image-Libary noch nicht in Python ansich enthalten...

aber ein kleiner vorschlag:
mein pc hängt sich an der stelle

Code: Alles auswählen

bQuit = Button(top,text="Schliessen",command=top.quit)

immer auf. Ihr könntet doch auch mit

Code: Alles auswählen

bQuit = Button(top,text="Schliessen",command=top.destroy)

(destroy statt quit) arbeiten, dann kommen menschen wie ich nicht durcheinander,
wenn ihr pc dauernd "tschüssie" ruft :wink:

liebe Grüße
Hannes
Artes
User
Beiträge: 6
Registriert: Freitag 24. Februar 2006, 22:18

Beitragvon Artes » Samstag 25. Februar 2006, 15:22

hmm .... wenn ich des so mache wie du dann krieg ich folgende Fehlermeldung und er zeigt mir nichmal mehr den text an...

[code=]
Traceback (most recent call last):
File "C:\Python24\test2.py", line 11, in ?
bild = PhotoImage(file=r"/images/logo.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 "/images/logo.gif": no such file or directory
[/code]
Benutzeravatar
Mr_Snede
User
Beiträge: 387
Registriert: Sonntag 8. Februar 2004, 16:02
Wohnort: D-Dorf, Bo

Beitragvon Mr_Snede » Samstag 25. Februar 2006, 15:56

Artes hat geschrieben:hmm .... wenn ich des so mache wie du

Was machst du wie wer?

Artes hat geschrieben:[code=]TclError: couldn't open "/images/logo.gif": no such file or directory[/code]

Unter Windows werden \ anstelle von / benutzt. Ich benutzte zum testen Linux und habe nicht dran gedacht auf die Pade zu achten.
Artes
User
Beiträge: 6
Registriert: Freitag 24. Februar 2006, 22:18

Beitragvon Artes » Samstag 25. Februar 2006, 16:01

joah kam ich auch drauf nachdem ich mir nochmal drüber guggte und meine ich hab des mal wo gelesen hier im forum ^^

Also, ich seh des Bild nur wenn ich des mit

CMD -> setup.py py2exe

mache bekomme ich bei

test2.exe folgende Fehlermeldung

[code=]Traceback (most recent call last):
File "test2.py", line 14, in ?
File "PIL\Image.pyc", line 1717, in open
IOError: [Errno 2] No such file or directory: 'logo.gif'[/code]

Vllt. weiss noch jmd. was?

und wenn ich des umstelle kommt halt Fehlermeldung das er die Datei nicht identifizieren kann....

*ratlos reinblicks* ^^
Benutzeravatar
Hannes-Spz
User
Beiträge: 123
Registriert: Sonntag 7. August 2005, 22:42

Beitragvon Hannes-Spz » Samstag 25. Februar 2006, 16:47

wenn du diese fehlermeldung von der CMD bekommst, würde ich darauf schließen,
dass der pfad in der setup.py des bildes nicht mit dem tatsächlichen relativen pfad übereinstimmt...

Code: Alles auswählen

data_files=[("Neuer Ordner",[r".\logo.gif",r".\minibildchen.jpg"])]


steht in meiner setup
das heißt: in dem ordner, wo meine setup.py und meine meine_haupt_datei.py liegen, muss sich
1. der ordner "Neuer Ordner" befinden und
2. in diesem Ordner müssen die beiden Bilddateien liegen...

Ich bin mir aber nicht mehr so genau sicher, hoffe aber geholfen zu haben.

Hannes
Artes
User
Beiträge: 6
Registriert: Freitag 24. Februar 2006, 22:18

Beitragvon Artes » Samstag 25. Februar 2006, 17:00

also über cmd ruf ich die konvertierungsgeschichte über

setup.py py2exe auf

setup.py
[code=]
from distutils.core import setup
import py2exe

data_files=[("images",[r".\logo.gif",r".\logo.gif"])]
setup(windows=["test.py"])
[/code]

steht nun des....

test.py
[code=]
from Tkinter import*
from PIL import Image, ImageTk
top = Tk()

Begruess_Text = """Dies ist der XXX-Starter!
Dieser befindet sich noch in Bau und soll spaeter
auf aktuelle Updates und Veraenderungen reagieren!
In seiner Endversion soll dieser Starter das nutzen von 3rd-Party Tools
komplett unterbinden

Artes
"""

image = Image.open('logo.gif')
photo = ImageTk.PhotoImage(image)
Label(image=photo).pack()

Hallo = Label(top,text=Begruess_Text)
Hallo.pack()

bQuit = Button(top,text="Schliessen",command=top.destroy)
bQuit.pack()

F = Frame(top)
F.pack
F.master.title("XXXX-Starter @ By Artes 2006")

top.mainloop()
[/code]

kommt die fehlermeldung:

[code=]
Traceback (most recent call last):
File "test.py", line 14, in ?
File "PIL\Image.pyc", line 1717, in open
IOError: [Errno 2] No such file or directory: 'logo.gif'
[/code]
Artes
User
Beiträge: 6
Registriert: Freitag 24. Februar 2006, 22:18

Beitragvon Artes » Samstag 25. Februar 2006, 18:19

Also ...

herzlichen Dank an Alle die hier geantwortet haben!

Ich musste sage und schreibe 3 Stunden nochmal nachdenken und Mr_Snede's Beispiel half dann...

Danköööö

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder