Я хочу отобразить список предложений с пропущенными словами.Основная идея, состоящая из одной строки, такова: ![One line example](https://i.stack.imgur.com/g4jyt.png)
Конструкция, описанная выше, представляет собой «label + entry + label + spacing + label».Чтобы убедиться, что виджеты были выровнены по левому краю, я использовал следующий код:
phraseLabel1 = tk.Label(questionFrame)
phraseLabel1.pack(side=tk.LEFT)
keyWordEntry = tk.Entry(questionFrame)
keyWordEntry.pack(side=tk.LEFT)
phraseLabel2 = tk.Label(questionFrame)
phraseLabel2.pack(side=tk.LEFT)
keyWordLabel = tk.Label(questionFrame)
keyWordLabel.pack(side=tk.LEFT,padx=30)
Моя цель - предоставить пользователям экран ввода для нескольких предложений.Как, например, приведено на следующем рисунке:
![Example multiple lines](https://i.stack.imgur.com/qoDCP.png)
Хотя мне удается создавать метки с помощью нижнего (экспериментального) кода, у меня нет понимания, как управлятьгеометрия.
root = tk.Tk()
root.title("myTest")
root.geometry("700x700")
questionFrame = tk.Frame(root)
resultFrame = tk.Frame(root)
for frame in (questionFrame, resultFrame):
frame.grid(row=0, column=0, sticky='news')
#DB Query returning a set of phrases and Keywords
(zinPhrase1, zinPhrase2, keyWordFR, keyWordNL)=getPhrase()
#Init
lab1 = []
keyWordEntry = []
lab2 = []
keyWord = []
for i in range(4): #4 is entered as a dummy value
lab1.append(tk.Label(questionFrame))
lab1[i].pack()
keyWordEntry.append(tk.Entry(questionFrame))
keyWordEntry[i].pack()
lab2.append(tk.Label(questionFrame))
lab2[i].pack()
keyWord.append(tk.Label(questionFrame))
keyWord[i].pack()
lab1[i].config(text=zinPhrase1[i])
keyWordEntry[i].config(width=8)
lab2[i].config(text=zinPhrase2[i])
keyWord[i].config(text=keyWordNL[i],fg="red")
questionFrame.tkraise()
root.mainloop()
Как я могу управлять размещением виджетов построчно, как показано на рисунке выше?Любая помощь будет с благодарностью.