0

我正在尝试并排对齐小部件顶部的三个按钮并填充“Y”和“X”,而不更改它们正下方的文本小部件的位置。我尝试使用这些 anchor=NW,N,NE 将按钮并排放置,但它不起作用我不知道如何用英语讲述它,所以这是我得到的图像:

我的应用程序

这是我的代码:

root = Tk()        
                    


screen_x = int(root.winfo_screenwidth())
screen_y = int(root.winfo_screenheight()) - int(root.winfo_screenheight()) * int(9.1145833333) // 100



window_x = 512
window_y = 690 

posX = (screen_x // 2) - (window_x // 2)
posY = (screen_y // 2) - (window_y // 2)

geo = "{}x{}+{}+{}". format(window_x, window_y, posX, posY)

root.geometry(geo)
root.resizable(0,0)
root.title("StoryApp")
root.config(background="gray8")

photo2 = PhotoImage(file = "Newico.png")
root.iconphoto(False, photo2)

Btn1 = Button(root, text="Button1", command=passit, padx=5, pady=5,borderwidth=5, relief="sunken", activebackground="dark red", bg="gray15", fg="red")
Btn1.configure(height=1, width=6)
Btn1.pack(padx=10, pady=5, side=TOP, anchor=NW, fill=Y)




Btn2 = Button(root, text="Button2", command=passit, padx=2, pady=5,borderwidth=5, relief="sunken", activebackground="dark red", bg="gray15", fg="red")
Btn2.configure(height=1, width=6)
Btn2.pack(padx=10, pady=5,side=TOP, anchor=N, fill=Y)

Btn3 = Button(root, text="Button3", command=passit, padx=2, pady=5,borderwidth=5, relief="sunken", activebackground="dark red", bg="gray15", fg="red")
Btn3.configure(height=1, width=6)
Btn3.pack(padx=10, pady=5,side=TOP, anchor=NE, fill=Y)





DecodedTextBoxTitle = LabelFrame(root, text="Decoded code", padx=5, pady=5, height=260)
DecodedTextBoxTitle.config(background="gray8")
DecodedTextBoxTitle.config(foreground="red")
DecodedTextBoxTitle.pack(padx=10, pady=5, fill="both", expand=True)

DecodedTextBox = Text(DecodedTextBoxTitle,wrap='none', undo=True, autoseparators=True,borderwidth=5, relief="sunken",selectbackground="dark red")
DecodedTextBox.config(highlightbackground="gray15")
DecodedTextBox.config(foreground="red")
DecodedTextBox.config(highlightthickness=3)
DecodedTextBox.config(highlightcolor="dark red")
DecodedTextBox.config(background="gray15")
DecodedTextBox.pack(fill="both", expand=True)
DecodedTextBox.configure(state='normal')
4

1 回答 1

0

如果你想使用pack,那么你应该为按钮创建一个框架。然后,您可以使用pack将框架放在上面,将 LabelFrame 放在下面。

或者,您可以切换到使用grid,以便您可以将每个按钮放在同一行但不同的列中。

于 2021-06-17T22:10:39.777 回答