我在使用Python 3 tkinter模块时遇到了一个问题,那就是在窗口水平居中放置按钮。使用padx=some_value或pady=some_value会让它看起来很难看,而且网格也不是我想要的。
我的希望是我可以有两个按钮居中和并排。
这是我到目前为止所得到的:
import tkinter
gui = tkinter.Tk()
gui.title('TicTacToe')
gui.geometry('700x700')
singlePlayerBut = tkinter.Button(gui, text='Single Player', command=0)
singlePlayerBut.pack(side=tkinter.RIGHT, padx=50, anchor=tkinter.CENTER)
multiPlayerBut = tkinter.Button(gui, text='Multi Player', command=0)
multiPlayerBut.pack(side=tkinter.LEFT, padx=50, anchor=tkinter.CENTER)
gui.mainloop()这个是可能的吗?
发布于 2019-03-24 00:40:39
或者,您也可以改用grid:
import tkinter
gui = tkinter.Tk()
gui.title('TicTacToe')
gui.geometry('700x700')
gui.rowconfigure(0,weight=1)
gui.columnconfigure(0,weight=1)
gui.columnconfigure(1,weight=1)
singlePlayerBut = tkinter.Button(gui, text='Single Player', command=0)
singlePlayerBut.grid(row=0,column=0,sticky="e")
multiPlayerBut = tkinter.Button(gui, text='Multi Player', command=0)
multiPlayerBut.grid(row=0,column=1,sticky="w")
gui.mainloop()或者,如果您不关心其他任何事情,只想要中心的这两个按钮,请使用place。
singlePlayerBut.place(relx=0.4,rely=0.5)
multiPlayerBut.place(relx=0.51,rely=0.5)发布于 2019-03-24 00:33:36
下面是如何实现我在评论中提出的建议:
import tkinter
gui = tkinter.Tk()
gui.title('TicTacToe')
gui.geometry('700x700')
button_frame = tkinter.Frame(gui) # Frame to hold (and group) buttons.
singlePlayerBut = tkinter.Button(button_frame, text='Single Player', command=0)
singlePlayerBut.pack(side=tkinter.RIGHT, padx=50, anchor=tkinter.CENTER)
multiPlayerBut = tkinter.Button(button_frame, text='Multi Player', command=0)
multiPlayerBut.pack(side=tkinter.LEFT, padx=50, anchor=tkinter.CENTER)
button_frame.pack() # Default side is tkinter.TOP
gui.mainloop()https://stackoverflow.com/questions/55315692
复制相似问题