Friends! I wish you a good day! Can you please tell me why the second column with frames (text) is located just opposite the F1 button, and the remaining buttons are shifted down, it is required that each frame be against each button from F1 to F5. Thanks I will be very grateful!

from tkinter import * class odin: def win1(): global tk tk = Tk() tk.title("Cтарт") tk.geometry("100x70") tk.resizable(width=False, height=False) x = (tk.winfo_screenwidth() - tk.winfo_reqwidth()) / 2 y = (tk.winfo_screenheight() - tk.winfo_reqheight()) / 2 tk.wm_geometry("+%d+%d" % (x, y)) btn = Button(tk, text="Старт", height=4, width=20, command = close) btn.pack(side=LEFT) tk.mainloop() def close(): tk.destroy() wind() def wind(): global zk zk = Tk() zk.title("Финиш") zk.geometry("450x425") x = (zk.winfo_screenwidth() - zk.winfo_reqwidth()) / 2 y = (zk.winfo_screenheight() - zk.winfo_reqheight()) / 2 zk.wm_geometry("+%d+%d" % (x, y)) fram1 = Frame(zk,bg='black',bd=1) fram2 = Frame(zk, bg='black', bd=1) fram3 = Frame(zk, bg='black', bd=1) fram4 = Frame(zk, bg='black', bd=1) fram5 = Frame(zk, bg='black', bd=1) lbn1 = Text(fram1, width=30, height=4, fg='black', wrap=WORD) lbn2 = Text(fram1, width=30, height=4, fg='black', wrap=WORD) lbn3 = Text(fram1, width=30, height=4, fg='black', wrap=WORD) lbn4 = Text(fram1, width=30, height=4, fg='black', wrap=WORD) lbn5 = Text(fram1, width=30, height=4, fg='black', wrap=WORD) btn1 = Button(zk, text="Ф1", height=4, width=20) btn2 = Button(zk, text="Ф2", height=4, width=20) btn3 = Button(zk, text="Ф3", height=4, width=20) btn4 = Button(zk, text="Ф4", height=4, width=20) btn5 = Button(zk, text="Ф5", height=4, width=20) btn6 = Button(zk, text="Назад", height=4, width=20, command = nazad) btn1.grid(row=1, column=1) btn2.grid(row=2, column=1) btn3.grid(row=3, column=1) btn4.grid(row=4, column=1) btn5.grid(row=5, column=1) btn6.grid(row=6, column=1) fram1.grid(row=1, column=2) fram2.grid(row=2, column=2) fram3.grid(row=3, column=2) fram4.grid(row=4, column=2) fram5.grid(row=5, column=2) lbn1.grid(row=1, column=2) lbn1.insert(1.0, 'Здания, предназначенные для постоянного проживания и временного пребывания людей') lbn2.grid(row=2, column=2) lbn2.insert(2.0, 'Здания зрелищных и культурно-просветительных учреждений') lbn3.grid(row=3, column=2) lbn3.insert(3.0, 'Здания организаций по обслуживанию населения') lbn4.grid(row=4, column=2) lbn4.insert(4.0, 'Здания образовательных организаций, научных и проектных организаций, органов управления учреждений') lbn5.grid(row=5, column=2) lbn5.insert(5.0, 'Здания производственного или складского назначения') zk.mainloop() def nazad(): zk.destroy() odin1.win1() def stop(): zk.destroy() odin1 = odin odin1.win1() 

    1 answer 1

    Note that all text fields are placed in the same frame, which is located opposite the first button:

     zk = Tk() ... fram1 = Frame(zk,bg='black',bd=1) ... # Везде родителем указан fram1 lbn1 = Text(fram1, width=30, height=4, fg='black', wrap=WORD) lbn2 = Text(fram1, width=30, height=4, fg='black', wrap=WORD) lbn3 = Text(fram1, width=30, height=4, fg='black', wrap=WORD) lbn4 = Text(fram1, width=30, height=4, fg='black', wrap=WORD) lbn5 = Text(fram1, width=30, height=4, fg='black', wrap=WORD) ... btn1.grid(row=1, column=1) ... fram1.grid(row=1, column=2) 

    We fix:

     lbn1 = Text(fram1, width=30, height=4, fg='black', wrap=WORD) lbn2 = Text(fram2, width=30, height=4, fg='black', wrap=WORD) lbn3 = Text(fram3, width=30, height=4, fg='black', wrap=WORD) lbn4 = Text(fram4, width=30, height=4, fg='black', wrap=WORD) lbn5 = Text(fram5, width=30, height=4, fg='black', wrap=WORD) 

    It turns out:

    Screenshot