Wie öffne ich ein extra Fenster in Python?
Hey,
ich versuche mir gerade Python beizubringen. Und ich würde gerne lernen wie man extra Fenster öffnet aber ich hab noch keine von den Codes die ich dazu gefunden habe zum laufen gebracht. Ich hab immer verschiedene Fehlermeldungen bekommen. Ich benutzte Spyder als IDE.
Kann mir da jmd helfen?
Grüße Jonas
2 Antworten
Die Frage ist ein bisschen zu ungenau. Die meisten Librarys, die in Python etwas mit GUI-Programmierung zu tun haben, bauen auf tkinter auf. Damit kannst du auch einfach (leere) Fenster erzeugen:
from tkinter import Tk
for x in range(10):
Tk()
Bei meinem Code passiert auch nichts, außer dass halt 10 Fenster geöffnet werden. Du kannst dir ja mal ein Tutorial zu tkinter anschauen, damit du da einen Einblick kriegst.
Also du willst die Optionen in einem extra Fenster haben? (Evtl. als Buttons?) Und du willst die Antwort auch jeweils in einem extra Fenster haben?
import tkinter as tk
def btn(num):
window = tk.Tk()
tk.Label(window, text=f"Option {num} wurde gedrückt.").pack()
window = tk.Tk()
tk.Button(window, text="Option 1", command=lambda:btn(1)).pack()
tk.Button(window, text="Option 2", command=lambda:btn(2)).pack()
tk.Button(window, text="Option 3", command=lambda:btn(3)).pack()
tk.mainloop()
Oder willst du die Antworten als Messagebox?
import tkinter as tk
import tkinter.messagebox as msg
def btn(num):
msg.showinfo("Ich bin eine Info", f"Du hast Option {num} gewählt.")
window = tk.Tk()
tk.Button(window, text="Option 1", command=lambda:btn(1)).pack()
tk.Button(window, text="Option 2", command=lambda:btn(2)).pack()
tk.Button(window, text="Option 3", command=lambda:btn(3)).pack()
tk.mainloop()
Für deine Zwecke gibt es mit PAGE auch einen Formdesigner. Damit geht das ganze einfacher. Dieser ist kostenlos und plattformunabhängig. Hier der Download: https://sourceforge.net/projects/page/files/page/7.5/
Die EXE-Datei ist für Windows, die tgz Datei für Mac und Linux. Das muss man nur noch entpacken und ausführbar machen. Das sieht in etwa so aus:

hm also ich will anstelle von
a = input("""[1] Option 1
[2] Option 2
[3] Option 3
if a == 1:
...
elif a == 2:
...
elif a == 3:
...
else:
print("Falsche Eingabe")
das sich das ganze in einem extra fenster öffnet
und was genau ist der output von dem code von dir? weil das bei mit nur die Variable x belegt und sonst nichts passiert