2016-05-20 2 views
1

Weisen Sie unterschiedliche Zahlen für Pady geben Sie mir Fehler. Ich habe viele Möglichkeiten ausprobiert und keiner von ihnen funktioniert. Ich bekomme immer Fehler. Vielleicht ist der Code falsch, ich bin mir nicht sicher, was es sein soll. Das ist das Beste, was ich denken kann, aber ich bekomme Fehler, ohne zu erklären, warum.Python 2.7 Pady Margin Fehler

from Tkinter import * 

root=Tk() 
root.geometry("200x300") 
root.title("basicGUI") 
root.configure(background="gray") 

w1=Label(text="widget 1", 
     pady = (TOP = "20", BOTTOM = "1")) 
w1.pack() 

w2=Label(text="widget 2", 
     pady = (TOP = "1", BOTTOM = "1")) 
w2.pack() 

w3=Label(text="widget 3", 
     pady = (TOP = "1", BOTTOM = "20")) 
w3.pack() 

mainloop() 
+0

Bitte fügen Sie den tatsächlichen Fehler in Ihre Frage ein. –

Antwort

1

Hinweis: Antwort ersetzt mit Gittern packen. Der Etikettenbereich ist in diesem Fall nicht der Ort, an den die Position gehen soll. Dieser Code wird keine Fehler verursachen.

w1=Label(frame, text="widget 1") 
w1.grid(row = 0, column = 0, pady =(20,1)) 

w2=Label(frame, text="widget 2") 
w2.grid(row = 0, column = 0, pady =(1,1)) 

w3=Label(frame, text="widget 3") 
w3.grid(row = 2, column = 0, pady = (1,20)) 
+0

Billal BEGUERADJ, Code funktioniert in allen meinen .py Programmen. In Frame oder nicht in Frame gibt es keine Fehler. Es ist ein Hüter. Vielen Dank. Bryan Oakley, Ihr Code funktioniert nur aus Frame. In Frame gibt es Fehler. Auch ich habe Ihren WebSite-Vorschlag angeschaut. Es ist zu kryptisch für mich. Es ist für extreme Erfahrung geschrieben, was ich nicht bin. – rasPi2bSarah

+0

Bryan Oakley, du gibst immer wundervolle Informationen, die mir so sehr helfen. Ich freue mich immer darauf, deine Antworten zu sehen. Vielen Dank. – rasPi2bSarah

1

Sie haben zwei oder drei Probleme, je nachdem, wie Sie zählen.

Die pady Option im Labeltakes a single value. If you want to give it two values, use the pady attribute of the pack command. The pady option on the label itself has a different behavior than the pady option for the pack` Befehl.

Das zweite Problem ist, dass die tkinter Konstante TOP den Wert "top" hat, was bedeutet, dass Sie versuchen, ein Tupel (illegal) als ("top"="20", "bottom"="1") zu erstellen. Wie Sie hoffentlich sehen können, ist das eine ungültige Syntax.

Hier ist der richtige Weg zu tun, was Sie wollen:

w1.pack(pady=(20, 10)) 
+0

Gut zu wissen. Ich habe ein paar Tricks ausprobiert, aber nicht funktioniert. Ich habe auch die 'pack()' Methode untersucht, konnte aber keine diesbezüglichen Informationen finden. –

+1

@BillalBEGUERADJ: wenn ich google "tkinter pack" der erste Link, den ich bekomme, ist dies, die eine anständige Aufgabe der Erklärung aller Optionen tut: http://effbot.org/tkinterbook/pack.htm –