J'ajoute plusieurs widgets à un cadre qui se trouve dans un tix.NoteBook
. Quand il y a trop de widgets pour tenir dans la fenêtre, je veux utiliser une barre de défilement, donc j'ai mis tix.ScrolledWindow
à l'intérieur de ce cadre et ajouter mes widgets à cette fenêtre défilée à la place. Le problème est que lorsque vous utilisez le gestionnaire de géométrie grid(), la barre de défilement apparaît, mais elle ne fonctionne pas (la barre de défilement occupe toute la barre de défilement).Python Tkinter Tix: Comment utiliser ScrolledWindow avec grille dans Tix NoteBook
from Tkinter import *
import Tix
class Window:
def __init__(self, root):
self.labelList = []
self.notebook = Tix.NoteBook(root, ipadx=3, ipady=3)
self.notebook.add('sheet_1', label="Sheet 1", underline=0)
self.notebook.add('sheet_2', label="Sheet 2", underline=0)
self.notebook.add('sheet_3', label="Sheet 3", underline=0)
self.notebook.pack()
#self.notebook.grid(row=0, column=0)
tab1=self.notebook.sheet_1
tab2=self.notebook.sheet_2
tab3=self.notebook.sheet_3
self.myMainContainer = Frame(tab1)
self.myMainContainer.pack()
#self.myMainContainer.grid(row=0, column=0)
scrwin = Tix.ScrolledWindow(self.myMainContainer, scrollbar='y')
scrwin.pack()
#scrwin.grid(row=0, column=0)
self.win = scrwin.window
for i in range (100):
self.labelList.append((Label(self.win)))
self.labelList[-1].config(text= "Bla", relief = SUNKEN)
self.labelList[-1].grid(row=i, column=0, sticky=W+E)
root = Tix.Tk()
myWindow = Window(root)
root.mainloop()
Chaque fois que je change au moins l'un des responsables de la géométrie pack()
-grid()
, le problème se produit. (En fait, je préfère utiliser grid()
pour tous les conteneurs.)
Lorsque je n'utilise pas le widget NoteBook, le problème ne se produit pas non plus. Les autres exemples ici semblent tous dépendre de pack().
Des idées?
Un grand merci,
Sano
Balise 'notebook' retirée dans le cadre du [nettoyage de 2012] (http://meta.stackexchange.com/questions/128315/the-great-stack-overflow-tag-question-cleanup-of-2012). –