Reputation: 13738
This is my code:
class Main(tk.Frame):
w = 300
h = 300
def __init__(self,parent, *args, **kwargs):
tk.Frame.__init__(self, parent, *args, **kwargs)
self.parent = parent
self.l1 = tk.Label(self, text="Iterations").grid(column=0,row=0)
self.l2 = tk.Label(self, text="angle").grid(column=0,row=1)
self.l3 = tk.Label(self, text="axiom").grid(column=0,row=2)
self.l4 = tk.Label(self, text="rule1").grid(column=0,row=3)
self.l5 = tk.Label(self, text="rule2").grid(column=0, row=4)
self.l6 = tk.Label(self, text="constants").grid(column=0, row=5)
self.e1 = tk.Entry(self, text="Iterations").grid(column=1,row=0)
self.e2 = tk.Entry(self, text="angle").grid(column=1,row=1)
self.e3 = tk.Entry(self, text="axiom").grid(column=1,row=2)
self.e4 = tk.Entry(self, text="rule1").grid(column=1,row=3)
self.e5 = tk.Entry(self, text="rule2").grid(column=1, row=4)
self.e6 = tk.Entry(self, text="constants").grid(column=1, row=5)
self.cv = tk.Canvas(width=self.w, height=self.h, bg='white')
self.cv.grid(column=2, rowspan=5)
# self.render_image()
self.grid()
I want my entry boxes and canvas stay side by side, but labels and entry boxes are drawn below the canvas for some reason. I get this;
How can I show them side by side instead?
Upvotes: 0
Views: 227
Reputation: 7842
You haven't specified a row for your Canvas
:
self.cv.grid(column=2, rowspan=5)
Just update this to include the top row:
self.cv.grid(column=2, rowspan=5, row=0)
Also rowspan
should likely be 6 not 5.
Upvotes: 2