Nicht verwenden geometrie-manager pack innen
Also ich mache einen rss-reader, mit dem tkinter-Bibliothek, und in einer meiner Methoden, die ich erstellen Sie ein text-widget. Es zeigt gut, bis ich versuchen, hinzufügen von Bildlaufleisten.
Hier ist mein code, bevor Sie die Bildlaufleisten:
def create_text(self, root):
self.textbox = Text(root, height = 10, width = 79, wrap = 'word')
self.textbox.grid(column = 0, row = 0)
Hier ist mein code nach:
def create_text(self, root):
self.textbox = Text(root, height = 10, width = 79, wrap = 'word')
vertscroll = ttk.Scrollbar(root)
vertscroll.config(command=self.textbox.yview)
vertscroll.pack(side="right", fill="y", expand=False)
self.textbox.config(yscrllcommand=vertscroll.set)
self.textbox.pack(side="left", fill="both", expand=True)
self.textbox.grid(column = 0, row = 0)
Dieser gibt mir die Fehlermeldung
_tkinter.TclError: nicht verwenden-geometrie-manager pack innen .56155888, die bereits slaves verwaltet raster auf der Linie
vertscroll.pack(side="right" fill="y", expand=False)
Irgendwelche Ideen, wie man dieses Problem beheben?
InformationsquelleAutor user3623888 | 2014-05-10
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Pro die docs, nicht mischen
pack
undgrid
im gleichen master-Fenster:So, wenn Sie rufen
grid
auf das Textfeld, rufen Sie nichtpack
auf die Bildlaufleiste.Könnten Sie
NSE
, aber in diesem Fall denke ich nicht, dass es darauf ankommt.InformationsquelleAutor unutbu
Der Grund, der code ist einfach, Sie können NICHT verwenden Sie pack und grid-innen der gleichen Klasse oder dem gleichen frame. Also, verwenden Sie nur eine.
Es ist möglich, zu haben, "sowohl im ganzen code" . Wenn Sie eine komplexe GUI, die Sie verwenden viele Klassen (inhereting aus der main Klasse also App). Jede dieser Klassen haben Ihre eigenen Sätze von widgets. Man kann also pack in einigen Klassen und raster in einige durch die Aufteilung der Komponenten.
Ja, ich weiß, dass. Was ich Fragen ist, warum empfehlen Sie nur einmal den gesamten code.
Wie verwenden Sie grid und pack beide in dem gesamten code.
Sie können verschiedene Klassen für die verschiedenen Seiten. Können Sie dann die Packung für einige Seiten und, Netz für einige andere.
InformationsquelleAutor ThePerson