zone de liste déroulante dans une grille à l'aide tkinter

Je suis nouveau sur ce lieu et tkinter. Je suis coincé à faire une zone de liste déroulante ou de la toile. J'ai essayé les deux widgets. Au sein de cette zone de liste ou sur la toile, j'ai plusieurs entrée d'étiquette et de widgets. Le point d'origine est R0,C0. J'ai utilisé ligne/columnconfigure pour étirer la zone de liste ou de la toile.

Dans la fenêtre principale, j'ai eu 4 boutons sur la ligne quatre colonnes quatre (0,4->4,4). J'ai placé la barre de défilement sur la colonne 5. J'ai tenté d'utiliser la méthode de la grille. La question que je vais avoir est de rendre la barre de défilement fonctionnelle.

Remarque: l'activation du mainframe dans une classe n'est qu'une des façons que j'ai essayé. L'emballage de la barre de défilement sur la droite a travaillé, avec le listbox/toile paniers sur la gauche. Toutefois, la zone de liste/toile widget que la barre de défilement est commandé de ne pas faire défiler la zone de liste/toile. En outre, l'ajout de nombreuses zones d'entrée n'est pas la cause de la listbox/toile pour faire défiler. De l'aide s'il vous plaît.

from tkinter import *
from tkinter.ttk import *
Style().configure("B.TFrame", relief="flat",
background="blue")
Style().configure("R.TFrame", relief="flat",
background="red")
Style().configure("R.TLabel", background="red")
class Application(Frame): 
def __init__(self, master=None):
Frame.__init__(self, master, style="B.TFrame") 
self.grid(sticky=N+S+E+W) 
self.mainframe()
def mainframe(self):
top=self.winfo_toplevel()
self.menuBar = Menu(top)
top["menu"] = self.menuBar
self.subMenu = Menu(self.menuBar, tearoff=0)
self.subMenu2 = Menu(self.menuBar, tearoff=0)
self.menuBar.add_cascade(label="File", menu=self.subMenu)
self.menuBar.add_cascade(label="About", menu=self.subMenu2)
self.subMenu.add_command(label="Open")
self.subMenu.add_command(label="Save")
self.subMenu.add_command(label="Exit")
self.subMenu2.add_command(label="About")
self.subMenu2.add_command(label="Help")
self.data = Listbox (self, bg='red')
scrollbar = Scrollbar(self.data, orient=VERTICAL)
self.add = Button(self, text="")
self.remove = Button(self, text="")
self.run = Button(self, text="")
self.stop = Button(self, text="")
self.data.grid (row=0, column=0, rowspan=4, columnspan=4, sticky=N+E+S+W)
self.data.columnconfigure(1, weight=1)
self.data.columnconfigure(3, weight=1)
self.add.grid(row=4,column=0,sticky=EW)       
self.remove.grid(row=4,column=1,sticky=EW)
self.run.grid(row=4,column=2,sticky=EW)
self.stop.grid(row=4,column=3,sticky=EW)
scrollbar.grid(column=5, sticky=N+S)
  • Veuillez éviter d'utiliser des caractères génériques d'importation, surtout si vous postez votre code sur LES..
InformationsquelleAutor Lect | 2012-06-03