Tkinter Error

Python auf Einplatinencomputer wie Raspberry Pi, Banana Pi / Python für Micro-Controller
Antworten
GuardDog

Heyho liebe Community,

ich versuche ein Script auf meinem Pi laufen zu lassen

[codebox=python file=Unbenannt.txt]from Tkinter import *
import os

def breakout():
if(os == "nt"):
os.system("java -jar data/src/breakout.jar")
def pong():
os.system("java -jar data/src/pong.jar")
def snake():
os.system("java -jar data/src/snake.jar")
def list():
breakout_btn_img.grid_forget()
pong_btn_img.grid_forget()
snake_btn_img.grid_forget()
list_btn.grid_forget()
image_btn.grid(row=0, column=0)
breakout_btn.grid(row=1, column=0)
pong_btn.grid(row=2, column=0)
snake_btn.grid(row=3, column=0)
def image():
breakout_btn.grid_forget()
pong_btn.grid_forget()
snake_btn.grid_forget()
image_btn.grid_forget()
list_btn.grid(row=0, column=0)
breakout_btn_img.grid(row=1, column=0)
pong_btn_img.grid(row=2, column=0)
snake_btn_img.grid(row=3, column=0)


root = Tk()
root.title("TheArcadeMachine")
root.resizable(False, False)

list_btn = Button(root, width=47, command=list, relief=SOLID, borderwidth=1, text="list mode")
breakout_img = PhotoImage(file="data/img/breakout.gif")
breakout_btn_img = Button(root, width=333, height=127, image=breakout_img, command=breakout, relief=FLAT)
breakout.image = breakout_img
pong_img = PhotoImage(file="data/img/pong.gif")
pong_btn_img = Button(root, width=333, height=127, image=pong_img, command=pong, relief=FLAT)
pong.image = pong_img
snake_img = PhotoImage(file="data/img/snake.gif")
snake_btn_img = Button(root, width=333, height=127, image=snake_img, command=snake, relief=FLAT)
snake.image = snake_img
image_btn = Button(root, width=47, command=image, relief=SOLID, borderwidth=1, text="picture mode")
breakout_btn = Button(root, width=47, command=breakout, relief=FLAT, text="Breakout", anchor=W, justify=LEFT)
pong_btn = Button(root, width=47, command=pong, relief=FLAT, text="Pong", anchor=W, justify=LEFT)
snake_btn = Button(root, width=47, command=snake, relief=FLAT, text="Snake", anchor=W, justify=LEFT)



list_btn.grid(row=0, column=0)
breakout_btn_img.grid(row=1, column=0)
pong_btn_img.grid(row=2, column=0)
snake_btn_img.grid(row=3, column=0)
root.mainloop()[/code]

Jedoch bekomme ich den Fehler:

Code: Alles auswählen

Traceback (most recent call last):
  File "data/src/main.py", line 31, in <module>
    root = Tk()
  File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 1813, in __init__
    self.tk = _tkinter.create(screenName, baseName, className, interactive, wantobjects, useTk, sync, use)
_tkinter.TclError: no display name and no $DISPLAY environment variable
Langsam fang ich an an mir zu zweifeln :?
Zuletzt geändert von GuardDog am Mittwoch 12. April 2017, 21:30, insgesamt 1-mal geändert.
BlackJack

@GuardDog: Wie startest Du das denn? Wenn Du Dich von aussen beispielsweise per SSH mit dem Raspi verbindest, kannst Du nicht so ohne weiteres grafische Anwendungen starten weil, wie die Meldung ja sagt, die DISPLAY-Umgebungsvariable dann nicht gesetzt ist. Die musst Du vor dem Start auf das X-Display setzen wo die GUI dann letztendlich angezeigt werden soll. Dazu sollte schon ein Fenstermanager/eine Desktopumgebung laufen.
GuardDog

Mein Pi häng an nem Fernseher via HDMI mit Tastaur und Maus. :K Dieses Programm raubt mir noch den letzten Nerv!
BlackJack

@GuardDog: Und wie startest Du das Programm? Normal wäre in diesem Fall die grafische Desktopumgebung zu starten, sich anzumelden, ein Terminalfenster zu öffnen und dort drin dann das Programm zu starten.
GuardDog

Hey! Mittlerweile geht es lag an meinem Pi :D Trotzdem danke ^^
Antworten