Dies ist ein wenig das gesamte Programm, das ich baue, aber es ist sowieso nur das Frontend. Wenn Sie die App selbst machen wollen, gehen Sie voran. : So, wie der Titel sagt, ich versuche, ein Gitter zu machen, das einen Rahmen enthält, der ein Gitter enthält, und ich habe mir ein paar ähnliche Fragen angeschaut und bekomme nicht vollständig die Antworten, wahrscheinlich weil Ich bin neu in Guis und Tkinter und die Lösungen sind oft für ihr spezifisches Programm geeignet. Also hier ist ein ähnliches Problem für mich.Tkinter: Gitter mit Rahmen mit Gitternetz
Was ich versuche zu tun, ist etwas mit der gesamten Rahmenstruktur, die wie folgt aussieht: GUI Frame structure, wo jeder Rahmen neben dem ioFrame ist ein 2x2 Gitter. Der ioFrame enthält zwei Dinge: eine Eingabezeile und eine Ausgabezeile. Kurz gesagt, dies ist ein Rechner, der Logikeingaben berechnet und Ihre einzigen "Zahlen" sind wahr und falsch.
Hier ist mein Code atm:
from tkinter import *;
class calculator:
#def update(self,
def __init__(self, window):
"""
Constructor method.
"""
self.toCompute = []; self.In = StringVar(); self.Out = StringVar();
# Window title
window.title("Logic Calculator");
# The set of 5 frames.
ioFrame = Frame(window, relief=GROOVE, borderwidth=3); ioFrame.grid(row=0); ioFrame.pack();
nwFrame = Frame(window); nwFrame.grid(row=1,column=0); nwFrame.pack();
neFrame = Frame(window); neFrame.grid(row=1,column=1); neFrame.pack();
swFrame = Frame(window); swFrame.grid(row=2,column=0); swFrame.pack();
seFrame = Frame(window); seFrame.grid(row=2,column=1); seFrame.pack();
# Top 2 rows: the IO portion
Label(ioFrame, textvariable=self.In, relief=SUNKEN).grid(row=0, sticky=W);
Label(ioFrame, textvariable=self.Out).grid(row=1, sticky=E);
# Top left 2x2 Frame: [ (|) ][ T | F ]
brlButton = Button(nwFrame, text='(', height=2, width=10).grid(row=0,column=0);
brrButton = Button(nwFrame, text=')', height=2, width=10).grid(row=0,column=1);
truButton = Button(nwFrame, text='T', height=2, width=10).grid(row=1,column=0);
falButton = Button(nwFrame, text='F', height=2, width=10).grid(row=1,column=1);
# Top right 2x2 Frame: [ AND | OOR ][ NND | NOR ]
andButton = Button(neFrame, text='and', height=2, width=10).grid(row=0,column=0);
oorButton = Button(neFrame, text='oor', height=2, width=10).grid(row=0,column=1);
nndButton = Button(neFrame, text='nnd', height=2, width=10).grid(row=1,column=0);
norButton = Button(neFrame, text='nor', height=2, width=10).grid(row=1,column=1);
# Bottom left 2x2 Frame: [ SSO | IIF ][ NSO | NIF ]
andButton = Button(swFrame, text='sso', height=2, width=10).grid(row=0,column=0);
oorButton = Button(swFrame, text='iif', height=2, width=10).grid(row=0,column=1);
nndButton = Button(swFrame, text='nso', height=2, width=10).grid(row=1,column=0);
norButton = Button(swFrame, text='nif', height=2, width=10).grid(row=1,column=1);
# Bottom right 2x2 Frame:[ EEQ | NEG ][ NEQ | === ]
eeqButton = Button(seFrame, text='eeq', height=2, width=10).grid(row=0,column=0);
negButton = Button(seFrame, text='neg', height=2, width=10).grid(row=0,column=1);
neqButton = Button(seFrame, text='neq', height=2, width=10).grid(row=1,column=0);
comButton = Button(seFrame, text='=', height=2, width=10).grid(row=1,column=1);
if __name__ == "__main__": # Only runs program if this specfic file is opened.
window = Tk(); # The window
calculator(window);
window.mainloop();
ich immer noch die Befehle an diese hinzufügen müssen (was ich bereits in einer separaten Datei geschrieben habe), aber ich habe nur versucht, separat die gui zu erledigen für jetzt.
Mein Problem ist, dass mein Code dieses Ergebnis stattdessen ausgibt: Current GUI. Das ist eindeutig weit weg von dem, was ich wollte. Und da ich neu hier bin, habe ich wahrscheinlich eine Liste von Problemen.
Jede Hilfe wäre willkommen.
Welche Version von Python verwenden Sie? Ich benutze Python3 und der Code zur Verfügung gestellt nicht einmal – Nelson
@Nelson Wie finden Sie heraus? Weißt du, was oder wo der Fehler ist? –
@Nelson Version 3.3.2. –