簡體   English   中英

將小部件與包對齊

[英]align widget with pack

我正在構建一個帶有標簽、字段和按鈕的表單。 我想學習如何使用包將按鈕的開頭與條目的開頭對齊。 我不能使用側面或錨點。 有什么建議嗎?

# Cria o notebook
notebook = ttk.Notebook(root)
notebook.pack(side="top", anchor="w")
# Cria os frames
frm_save = ttk.Frame(notebook, padding=(0, 20))
frm_save.pack(side="left", fill="both", expand=True)
# frm_cadastrar.pack_propagate(False)
frm_praticar = ttk.Frame(notebook)
frm_praticar.pack(side="left", fill="both", expand=True)
# frm_praticar.pack_propagate(False)
# Adiciona os frames no notebook
notebook.add(frm_save, text="Cadastrar")
notebook.add(frm_praticar, text="Praticar")


# Formulário cadastrar
style.configure("TFrame")
frm1 = ttk.Frame(frm_save, style="TFrame")
frm1.pack(pady=10)

lb_english = ttk.Label(frm1, text="English", width=15, anchor="e", padding=(10, 0))
lb_english.pack(side="left")
entry_english = ttk.Entry(frm1)
entry_english.pack(side="left")

frm2 = ttk.Frame(frm_save)
frm2.pack(pady=10)

lb_portuguese = ttk.Label(frm2, text="Portuguese", width=15, anchor="e", padding=(10, 0))
lb_portuguese.pack(side="left")
entry_portuguese = ttk.Entry(frm2)
entry_portuguese.pack(side="left")


frm3 = ttk.Frame(frm_save)
frm3.pack()
bt_save = ttk.Button(frm3, text="Save")
bt_save.pack()

在此處輸入圖像描述

對於這種類型的 alignment, grid是適合這項工作的工具,因為您顯然希望沿着網格對齊小部件。 如果您堅持使用pack ,最好的方法是在 window 中放置兩個框架:一個在左側用於標簽,一個在右側用於入口小部件和按鈕。 對於這個簡單的示例,這應該可以很好地工作,但如果您有很多不同大小的小部件,則不能很好地擴展。

更好的解決方案是使用grid 首先將所有標簽、條目和按鈕都放在一個框架中。 然后,您可以將第 0 列中的標簽與東對齊,並將第 1 列中的條目小部件和保存按鈕與西對齊。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM