【发布时间】:2022-02-18 19:19:03
【问题描述】:
我想将条目小部件向右对齐,与左侧标签的宽度无关。 ID。标题的宽度无关紧要。无论标题的宽度如何,条目小部件都应对齐。
这是我的代码:
import tkinter as tk
from tkinter import ttk
root = tk.Tk()
root.title('test')
root.geometry("500x800")
# main frame
main_frame = tk.Frame(root)
main_frame.pack(expand=1, fill='both')
# the message
title = tk.Label(main_frame, text="title 1", bg='white')
title.pack(padx=8, pady=8, fill='x')
foo1_frame = tk.Frame(main_frame)
foo1_frame.pack(padx=8, pady=8, fill='x')
foo1_label = tk.Label(foo1_frame, text="short title foo1")
foo1_label.grid(row=0, column=0)
foo1_entry_box = tk.Entry(foo1_frame, width=10)
foo1_entry_box.grid(row=0, column=2, sticky='e') #sticky does nothing in this case
foo2_frame = tk.Frame(main_frame)
foo2_frame.pack(padx=8, pady=8, fill='x')
foo2_label = tk.Label(foo2_frame, text="loooooooooooonger title foo2")
foo2_label.grid(row=1, column=0)
foo2_entry_box = tk.Entry(foo2_frame, width=10)
foo2_entry_box.grid(row=1, column=2)
root.mainloop()
我尝试过使用sticky="e",但没有任何改变。我不想使用pack(side='right'),因为如果窗口宽度增加,它会显得凌乱/丑陋。
【问题讨论】:
-
您知道
master.grid_columnconfigure(column,weight)吗?另外,have a look at this