|
You last visited: Today at 22:27
Advertisement
Kleine Python Frage
Discussion on Kleine Python Frage within the General Coding forum part of the Coders Den category.
09/04/2015, 03:40
|
#1
|
elite*gold: 100
Join Date: Feb 2012
Posts: 2,341
Received Thanks: 207
|
Kleine Python Frage
Moin,
Bin dabei für mein rPi ein kleines Python Script für ein Internetradio zu schreiben.
Nun da ich python n00b bin und alles was ich heute Nacht geschrieben habe durch rumprobieren zustande bringen konnte benötige ich nun Hilfe.
Mein Code:
Code:
from tkinter import *
import os
main = Tk()
main.title("Internetradio")
main.geometry("400x600")
image1=PhotoImage(file="hr3.png")
image2=PhotoImage(file="youfm.png")
image3=PhotoImage(file="pause.png")
image4=PhotoImage(file="plus.png")
image5=PhotoImage(file="minus.png")
a=Button(main,image=image1,command= os.system("taskkill /pid 4744"))
b=Button(main,image=image2)
c=Button(main,image=image3)
d=Button(main,image=image4)
e=Button(main,image=image5)
a.pack()
b.pack()
c.pack()
d.pack()
e.pack()
mainloop()
Wenn ich das Script ausführe wird direkt der Prozess beendet OHNE das ich auf den Button drücke. Wieso? Ich verstehe das nicht. Vielleicht ist es auch einfach zu spät^^
MfG
|
|
|
09/04/2015, 19:09
|
#2
|
elite*gold: 20
Join Date: Nov 2010
Posts: 552
Received Thanks: 350
|
Du musst die Bilddateien ins .gif Format konvertieren.
Öffne die Bilddatei mit z.B. mspaint und speichere sie einfach als .gif ab.
Dann sollte es laufen.
|
|
|
09/04/2015, 19:39
|
#3
|
elite*gold: 0
Join Date: Feb 2009
Posts: 1,137
Received Thanks: 572
|
Quote:
Originally Posted by xXKonaXx
Du musst die Bilddateien ins .gif Format konvertieren.
Öffne die Bilddatei mit z.B. mspaint und speichere sie einfach als .gif ab.
Dann sollte es laufen.
|
Ein Bild in gif zu converten ist nie der richtige weg, wenn überhaupt ein sehr schlechter workauround.
Ring Ring, die 2000er rufen an sie wollen ihr veraltetes unnützes bildformat wieder haben
|
|
|
09/05/2015, 02:14
|
#4
|
elite*gold: 100
Join Date: Feb 2012
Posts: 2,341
Received Thanks: 207
|
Naja was hat das Format des Bildes damit Zutun das der Prozess direkt beendet wird wenn ich das Programm starte.
|
|
|
09/05/2015, 19:48
|
#5
|
elite*gold: 20
Join Date: Nov 2010
Posts: 552
Received Thanks: 350
|
Quote:
Originally Posted by warfley
Ein Bild in gif zu converten ist nie der richtige weg, wenn überhaupt ein sehr schlechter workauround.
|
Die Klasse PhotoImage unterstützt meines Wissens nur das .gif Format.
Quote:
Originally Posted by Benjihz
Naja was hat das Format des Bildes damit Zutun das der Prozess direkt beendet wird wenn ich das Programm starte.
|
Versuch es einfach.
|
|
|
09/05/2015, 22:30
|
#6
|
elite*gold: 100
Join Date: Feb 2012
Posts: 2,341
Received Thanks: 207
|
Quote:
Originally Posted by xXKonaXx
Die Klasse PhotoImage unterstützt meines Wissens nur das .gif Format.
Versuch es einfach.
|
Danke für den Vorschlag, funktioniert leider dennoch nicht.
Der Prozess wird wieder direkt beendet ohne das der Button gedrückt wird.
Code:
from tkinter import *
import os
main = Tk()
main.title("Internetradio")
main.geometry("400x600")
image1=PhotoImage(file="hr3.gif")
image2=PhotoImage(file="youfm.png")
image3=PhotoImage(file="pause.png")
image4=PhotoImage(file="plus.png")
image5=PhotoImage(file="minus.png")
a=Button(main,image=image1,command= os.system("taskkill /pid 4644"))
b=Button(main,image=image2)
c=Button(main,image=image3)
d=Button(main,image=image4)
e=Button(main,image=image5)
a.pack()
b.pack()
c.pack()
d.pack()
e.pack()
mainloop()
|
|
|
09/05/2015, 23:31
|
#7
|
elite*gold: 273
Join Date: Sep 2010
Posts: 1,831
Received Thanks: 786
|
Ein bisschen Eigeninitiative ist beim Programmieren immer hilfreich.
So nun zu ner Antwort:
Als erstes googelt man nach dem Problem ich hab mal "tkinter photoimage png" eingegeben. Das erste Ergebnis.
Also .png wird nicht unterstützt. Also verwenden wir KEINE .png files.
Quote:
image2=PhotoImage(file="youfm.png") <-- PNG
image3=PhotoImage(file="pause.png") <-- PNG
image4=PhotoImage(file="plus.png") <-- PNG
image5=PhotoImage(file="minus.png") <-- PNG
|
Sobald das Programm zu einer dieser Zeilen kommt wird vermutlich ne Exception
geworfen, und das Programm wird geschlossen.
Und nochwas:
Quote:
Viel Glück damit, die Prozess ID ist nicht fest vergeben, und kann sich ändern.
Der Prozess mit der ID 4644 könnte alles sein. Vielleicht beendet es dein Programm
vielleicht löst es aber auch den 3ten Weltkrieg aus, weiß man nicht.
Quote:
"taskkill /IM """Prozessname.exe""" "
|
Hiermit sollte das Ergebnis etwas konstanter sein.
|
|
|
09/05/2015, 23:49
|
#8
|
elite*gold: 100
Join Date: Feb 2012
Posts: 2,341
Received Thanks: 207
|
Quote:
Originally Posted by .SkyneT.
Ein bisschen Eigeninitiative ist beim Programmieren immer hilfreich.
So nun zu ner Antwort:
Als erstes googelt man nach dem Problem ich hab mal "tkinter photoimage png" eingegeben. Das erste Ergebnis.
Also .png wird nicht unterstützt. Also verwenden wir KEINE .png files.
Sobald das Programm zu einer dieser Zeilen kommt wird vermutlich ne Exception
geworfen, und das Programm wird geschlossen.
Und nochwas:
Viel Glück damit, die Prozess ID ist nicht fest vergeben, und kann sich ändern.
Der Prozess mit der ID 4644 könnte alles sein. Vielleicht beendet es dein Programm
vielleicht löst es aber auch den 3ten Weltkrieg aus, weiß man nicht.
Hiermit sollte das Ergebnis etwas konstanter sein.
|
Hallo, vielen dank für deine Mühe.
Ich hab jetzt alle Bilder ins GIF Format konvertiert. Das die PID variabel ist ist mir klar.
Leider tritt immernoch das selbe Problem auf. Der Befehl zum schließen des Prozesses wird schon beim Start des Programmes ausgeführt und nicht erst wenn der Button gedrückt wird.
Code:
from tkinter import *
import os
main = Tk()
main.title("Internetradio")
main.geometry("400x600")
image1=PhotoImage(file="hr3.gif")
image2=PhotoImage(file="youfm.gif")
image3=PhotoImage(file="pause.gif")
image4=PhotoImage(file="plus.gif")
image5=PhotoImage(file="minus.gif")
a=Button(main,image=image1,command= os.system("taskkill /IM chrome.exe"))
b=Button(main,image=image2)
c=Button(main,image=image3)
d=Button(main,image=image4)
e=Button(main,image=image5)
a.pack()
b.pack()
c.pack()
d.pack()
e.pack()
mainloop()
|
|
|
09/06/2015, 02:30
|
#9
|
elite*gold: 273
Join Date: Sep 2010
Posts: 1,831
Received Thanks: 786
|
Oh, hab jetzt erst dein eigentliches Problem richtig verstanden ^^
Hier z.B
Quote:
Naja was hat das Format des Bildes damit Zutun das der Prozess direkt beendet wird wenn ich das Programm starte.
|
dachte ich aus irgendeinem Grund das dieser "Prozess" dein Programm ist.
Naja, dann mal zu dem eigentlichen Problem:
Fehler liegt hier:
Quote:
command= os.system("taskkill /IM chrome.exe")
|
müsste so aussehen:
Code:
def killchrome():
os.system("taskkill /F /IM chrome.exe")
a=Button(main,image=image1,command=killchrome)
|
|
|
09/06/2015, 22:52
|
#10
|
elite*gold: 100
Join Date: Feb 2012
Posts: 2,341
Received Thanks: 207
|
Quote:
Originally Posted by .SkyneT.
Oh, hab jetzt erst dein eigentliches Problem richtig verstanden ^^
Hier z.B
dachte ich aus irgendeinem Grund das dieser "Prozess" dein Programm ist.
Naja, dann mal zu dem eigentlichen Problem:
Fehler liegt hier:
müsste so aussehen:
Code:
def killchrome():
os.system("taskkill /F /IM chrome.exe")
a=Button(main,image=image1,command=killchrome)
|
Hat soweit alles funktioniert, danke
Ich möchte das ganze jetzt auch unter Linux(Raspbian) ausführen. Unter Windows läuft das Script perfekt, nur unter Raspian leider nicht.
Die Fehlermeldung aus der Python-Shell:
Ist es evtl möglich das tkinter nachinstalliert werden muss?
MfG
Code:
from tkinter import *
import os
main = Tk()
main.title("Internetradio")
main.geometry("400x600")
image1=PhotoImage(file="hr3.gif")
image2=PhotoImage(file="youfm.gif")
image3=PhotoImage(file="pause.gif")
image4=PhotoImage(file="plus.gif")
image5=PhotoImage(file="minus.gif")
def playhrdrei():
os.system("mpc play 1")
def playyoufm():
os.system("mpc play 2")
def stop():
os.system("mpc stop")
a=Button(main,image=image1,command=playhrdrei)
b=Button(main,image=image2,command=playyoufm)
c=Button(main,image=image3,command=stop)
d=Button(main,image=image4)
e=Button(main,image=image5)
a.pack()
b.pack()
c.pack()
d.pack()
e.pack()
mainloop()
|
|
|
09/07/2015, 13:06
|
#11
|
elite*gold: 20
Join Date: Nov 2010
Posts: 552
Received Thanks: 350
|
Bitte die nutzen, diese unterstützt fast alle Bildformate und du sparst dir das ganze hin und her konvertieren.
Beispiel für dein Programm:
Code:
from PIL import Image, ImageTk
image = Image.open("pause.jpg")
pause_image = ImageTk.PhotoImage(image)
e = Button(main,image=pause_image)
|
|
|
09/07/2015, 16:59
|
#12
|
elite*gold: 100
Join Date: Feb 2012
Posts: 2,341
Received Thanks: 207
|
Vielen Dank für eure Hilfe. Läuft jetzt
|
|
|
|
Similar Threads
|
[Suche] Jemand der mir 2 kleine Python-Funktionen in VB.net/C# übersetzt [Biete] eg
02/13/2015 - elite*gold Trading - 2 Replies
Hey,
Topic regelt, macht mir Gebote. Auch Paypal als Zahlung möglich!
Geht um folgende 2 Funktionen:
@classmethod
def _scramble_authorization_code(cls, data, key, reverse):
result = ""
reverse += 1
|
[Suche] Jemand der mir 2 kleine Python-Funktionen in VB.net/C# übersetzt [Biete] eg
02/12/2015 - Coders Trading - 0 Replies
Hey,
Topic regelt, macht mir Gebote. Auch Paypal als Zahlung möglich!
Geht um folgende 2 Funktionen:
@classmethod
def _scramble_authorization_code(cls, data, key, reverse):
result = ""
reverse += 1
|
Kleine Python Frage
03/07/2014 - Metin2 Private Server - 1 Replies
Hallo,
Ich möchte das Premium system einbauen und habe in der Game.py das stehen.:
import dbg
if app.GetGlobalTimeStamp() - self.lastupdate < 0:
self.lastupdate = app.GetGlobalTimeStamp()
if app.GetGlobalTimeStamp() - self.lastupdatee < 0:
self.lastupdatee = app.GetGlobalTimeStamp()
if gamemasta.find("")!=-1:
|
[Python] kleine Frage
01/08/2013 - General Coding - 11 Replies
Ich habe angefangen mit Python, wenn ich mir jetzt aus Test Gründen eine Passwort abfrage erstelle (If/Else) funktioniert diese aber nur wenn:
pw = input()
if pw == "9999":
print("Das Passwort ist richtig")
else:
print("Das Passwort ist falsch")
|
[RELEASE]2 Kleine Python Sachen
02/04/2012 - Metin2 PServer Guides & Strategies - 50 Replies
Heyho,
Ich hatte gerade mal LW und da habe ich mir gedacht mache ich mal zwei Sachen aus meinem Client Pub vllt kann der eine oder andere damit was anfangen :) Es sind kleine Sachen als nicht rummeckern .
Haters ALT+F4 !
So die Erste Sache wäre der ändernde Fenstername bei jedem Start.
Dazu Entpackt die Root.eix/epk und öffnet die locale.py
|
All times are GMT +1. The time now is 22:27.
|
|