Mise en page de tkinter gui en utilisant des cadres et une grille

Mon interface utilisateur

Mise en page de tkinter gui en utilisant des cadres et une grille

ressemble presque rien comme ce que j'attends

Mise en page de tkinter gui en utilisant des cadres et une grille

je suppose qu'il y a quelques éléments que je ne comprends pas.

Je suppose que les images contiennent leur propre "de la grille de l'espace" (ligne, colonne), mais le comportement, je vois ne pas supporter ça, et je suis à une perte pour tout travail de la manière que je veux pour le haut du cadre. Mes étiquettes sont censés être sur la même ligne L à R, en vertu d'une 'étiquette d'image" qui s'étend sur la totalité de l'image - à l'exception qu'ils ne le font pas. Je veux le réel ressemble plus à de l'objectif jpg, et je veux utiliser la grille pour le faire.

Vous pouvez voir l'un des champs de saisie à droite du cadre vert. Pourquoi est-ce que ça va ?

from Tkinter import *
root = Tk()
root.title('Model Definition')
root.resizable(width=FALSE, height=FALSE)
root.geometry('{}x{}'.format(460, 350))
top_frame = Frame(root, bg='cyan', width = 450, height=50, pady=3).grid(row=0, columnspan=3)
Label(top_frame, text = 'Model Dimensions').grid(row = 0, columnspan = 3)
Label(top_frame, text = 'Width:').grid(row = 1, column = 0)
Label(top_frame, text = 'Length:').grid(row = 1, column = 2)
entry_W = Entry(top_frame).grid(row = 1, column = 1)
entry_L = Entry(top_frame).grid(row = 1, column = 3)
#Label(top_frame, text = '').grid(row = 2, column = 2)
center = Frame(root, bg='gray2', width=50, height=40, padx=3, pady=3).grid(row=1, columnspan=3)
ctr_left = Frame(center, bg='blue', width=100, height=190).grid(column = 0, row = 1, rowspan = 2)
ctr_mid = Frame(center, bg='yellow', width=250, height=190, padx=3, pady=3).grid(column = 1, row=1, rowspan=2)
ctr_right = Frame(center, bg='green', width=100, height=190, padx=3, pady=3).grid(column = 2, row=1, rowspan=2)
btm_frame = Frame(root, bg='white', width = 450, height = 45, pady=3).grid(row = 3, columnspan = 3)
btm_frame2 = Frame(root, bg='lavender', width = 450, height = 60, pady=3).grid(row = 4, columnspan = 3)
root.mainloop()

Donc, précisément, où sont mes étiquettes et l'Entrée des widgets, et comment dois-je faire ressembler davantage à l'objectif (cadre du haut, le reste pour plus tard).

source d'informationauteur shawn