Ich muss tkinter Bibliothek verwenden, um GUI zu erstellen.Spezifisches Problem mit Pack beim Erstellen eines Layouts
Ich habe diesen Code:
# -*- coding: UTF-8 -*-
import tkinter as tk
class Application(tk.Frame):
resx=1600
resy=900
def __init__(self, master=None):
tk.Frame.__init__(self, master)
self.pack(fill="both", expand=1)
self.createWidgets()
master.minsize(self.resx, self.resy)
master.maxsize(self.resx, self.resy)
def createWidgets(self):
self.hi_there = tk.Button(self)
self.hi_there["text"] = "Create new window"
self.hi_there["command"] = self.PlayMode
self.hi_there.pack(side="top")
def ShowMenu(self, master):
print("Here I need DELETE master, in my case PlayM")
def PlayMode(self):
PlayM = tk.Tk()
PlayM.minsize(self.resx, self.resy)
PlayM.maxsize(self.resx, self.resy)
PlayM.title("Game")
bf= tk.Frame(PlayM, bg="blue")
bf.pack(side="bottom", fill=tk.X, expand = 1)
lbTEST=tk.Label(bf)
lbTEST["text"] = "TESTING"
lbTEST.pack()
mf = tk.Frame(PlayM,bg="red")
mf.pack(side="right", fill=tk.Y, expand=1)
self.LogOut = tk.Button(mf)
self.LogOut["text"] = "LOGOUT"
self.LogOut.pack()
self.LogOut["command"] = self.ShowMenu(PlayM)
root = tk.Tk()
app = Application(master=root)
app.master.title("Useless think")
app.mainloop()
ich so etwas wie dieses Bild brauchen:
Ich weiß nicht, warum mein Code funktioniert nicht. Wenn ich meine bf
(unterer Rahmen) packe und side = "bottom"
einstelle, erscheint es aber in der Mitte des Bildschirms. Warum? Gleich mit side = "right"
wenn ich packe mf
(Menürahmen)
Und ich habe noch eine Frage. Über die Abmelde-Schaltfläche. Ich setze die Methode des Befehls "ShowMenu"
.
Wenn ich meinen Code ausführen, wird diese Methode automatisch nur einmal gestartet, aber wenn ich auf den Button klicken passiert nichts. Warum?
wie immer antwortet Bryan besser als ich ;-) – R4PH43L
Besonderen Dank an Bryan und alle anderen;) Alle Antworten auf meine Frage waren sehr hilfreich. Ich möchte noch eine Frage stellen. Tut jemand tkinter Bibliothek im "wirklichen Leben"? Oder es ist nur "Universitätssprache" (nur für Schüler). Ich frage, weil ich manchmal Probleme habe, eine solide Dokumentation zu finden. – DoctorCZE
@DoctorCZE Ich würde sagen, dass tkinter aus meiner Sicht nützlich ist, um über das Erstellen von GUI (im Allgemeinen) und das schnelle Prototyping einfacher UIs, vielleicht für persönliche Projekte, zu lernen. Ich glaube nicht, dass Tkinter heutzutage von Unternehmen genutzt wird, da es moderne ("bessere") Alternativen gibt, zum Beispiel Kivy, und weil heutzutage UIs dazu neigen, zum Browser gedrängt zu werden. – nbro