我正在尋找一種方法將我的文本放置在我的GUI中心。當GUI窗口展開時,文本需要保持居中。框架內的文本位置 - Python
我也試圖保持文本彼此對齊。 當我放入空標籤時,我很成功,但這不是非常優雅,而且當我將GUI全屏時,它不再居中。
有什麼建議嗎?
from Tkinter import *
import ttk
import csv
master = Tk()
master.option_add("*Font", "{Bodoni MT} 8")
content = ttk.Frame(master, padding=(12, 12, 12, 12))
frame = ttk.Frame(content, borderwidth=5, relief="groove", width=300, height=100)
content.grid(column=0, row=0, sticky=(N, S, E, W))
frame.grid(column=0, row=0, columnspan=4, sticky=(N, E, W))
text = Text(content, height=8, width=13)
text.grid(row=0, column=4, columnspan=2, rowspan=2, sticky=(N, S, E, W))
v1surface = StringVar()
v2surface = StringVar()
v1tournament = StringVar()
v2tournament = StringVar()
empty_row = Label(frame).grid(column=1, padx=100, sticky=(N, E, W))
surface_title = Label(frame, text="Surface", font="{Bodoni MT} 12 bold underline").grid(row=1, column=2, columnspan=2)
surface_selection = Label(frame, text="Select Surface:").grid(row=2, column=2, sticky='w')
a_surface = Label(frame, text="Service Points Win %:").grid(row=3, column=2, sticky='w')
aa_surface = Entry(frame, text="value", textvariable=v1surface, justify='center', width=10).grid(row=3, column=3)
b_surface = Label(frame, text="Return Points Win %: ").grid(row=4, column=2, sticky='w')
bb_surface = Entry(frame, text="value", textvariable=v2surface, justify='center', width=10).grid(row=4, column=3)
tournament_title = Label(frame, text="Tournament", font="{Bodoni MT} 12 bold underline")\
.grid(row=1, column=5, columnspan=2)
tournament_selection = Label(frame, text="Select Tournament:").grid(row=2, column=5, sticky='w')
a_tournament = Label(frame, text="Service Points Win %:").grid(row=3, column=5, sticky='w')
aa_tournament = Entry(frame, text="value", textvariable=v1tournament, justify='center', width=10).grid(row=3, column=6)
b_tournament = Label(frame, text="Return Points Win %: ").grid(row=4, column=5, sticky='w')
bb_tournament = Entry(frame, text="value", textvariable=v2tournament, justify='center', width=10).grid(row=4, column=6)
run = ttk.Button(content, text='Run')
run.grid(column=4, row=3)
cancel = ttk.Button(content, text="Cancel", command=master.destroy)
cancel.grid(column=5, row=3)
master.columnconfigure(0, weight=1)
master.rowconfigure(0, weight=1)
content.columnconfigure(0, weight=3)
content.columnconfigure(1, weight=3)
content.columnconfigure(2, weight=3)
content.columnconfigure(3, weight=1)
content.columnconfigure(4, weight=1)
content.rowconfigure(1, weight=1)
master.geometry("1000x500+100+100")
master.mainloop()
你想讓哪個文字居中?我看到很多標籤。你是否也希望入口小部件居中?您的描述非常含糊。 –
@BryanOakley,我希望'框架'中的所有標籤和輸入小部件居中 – Depekker
您是否想要它們居中的框架?或者你想要框架在頂部和小部件在框架中居中? –