@@ -33,6 +33,7 @@ def __init__(self, root, engine):
33
33
'''Initialize root, engine, and top attributes.
34
34
35
35
top (level widget): set in create_widgets() called from open().
36
+ frame: container for all widgets in dialog.
36
37
text (Text searched): set in open(), only used in subclasses().
37
38
ent (ry): created in make_entry() called from create_entry().
38
39
row (of grid): 0 in create_widgets(), +1 in make_entry/frame().
@@ -83,10 +84,14 @@ def create_widgets(self):
83
84
top .wm_title (self .title )
84
85
top .wm_iconname (self .icon )
85
86
self .top = top
87
+ self .frame = Frame (top , padding = "5px" )
88
+ self .frame .grid (sticky = "nwes" )
89
+ top .grid_columnconfigure (0 , weight = 100 )
90
+ top .grid_rowconfigure (0 , weight = 100 )
86
91
87
92
self .row = 0
88
- self .top .grid_columnconfigure (0 , pad = 2 , weight = 0 )
89
- self .top .grid_columnconfigure (1 , pad = 2 , minsize = 100 , weight = 100 )
93
+ self .frame .grid_columnconfigure (0 , pad = 2 , weight = 0 )
94
+ self .frame .grid_columnconfigure (1 , pad = 2 , minsize = 100 , weight = 100 )
90
95
91
96
self .create_entries () # row 0 (and maybe 1), cols 0, 1
92
97
self .create_option_buttons () # next row, cols 0, 1
@@ -99,9 +104,9 @@ def make_entry(self, label_text, var):
99
104
entry - gridded labeled Entry for text entry.
100
105
label - Label widget, returned for testing.
101
106
'''
102
- label = Label (self .top , text = label_text )
107
+ label = Label (self .frame , text = label_text )
103
108
label .grid (row = self .row , column = 0 , sticky = "nw" )
104
- entry = Entry (self .top , textvariable = var , exportselection = 0 )
109
+ entry = Entry (self .frame , textvariable = var , exportselection = 0 )
105
110
entry .grid (row = self .row , column = 1 , sticky = "nwe" )
106
111
self .row = self .row + 1
107
112
return entry , label
@@ -117,11 +122,11 @@ def make_frame(self,labeltext=None):
117
122
label - Label widget, returned for testing.
118
123
'''
119
124
if labeltext :
120
- label = Label (self .top , text = labeltext )
125
+ label = Label (self .frame , text = labeltext )
121
126
label .grid (row = self .row , column = 0 , sticky = "nw" )
122
127
else :
123
128
label = ''
124
- frame = Frame (self .top )
129
+ frame = Frame (self .frame )
125
130
frame .grid (row = self .row , column = 1 , columnspan = 1 , sticky = "nwe" )
126
131
self .row = self .row + 1
127
132
return frame , label
@@ -171,7 +176,7 @@ def make_button(self, label, command, isdef=0):
171
176
172
177
def create_command_buttons (self ):
173
178
"Place buttons in vertical command frame gridded on right."
174
- f = self .buttonframe = Frame (self .top )
179
+ f = self .buttonframe = Frame (self .frame )
175
180
f .grid (row = 0 ,column = 2 ,padx = 2 ,pady = 2 ,ipadx = 2 ,ipady = 2 )
176
181
177
182
b = self .make_button ("Close" , self .close )
0 commit comments