我有一个问题,我创建了一个带有输入项,组合框和文本的界面,并希望得到漂亮的外观,我想要这样:所有小部件的长度都相同。
但是它不起作用。我做了一个事件(您可以在行代码下看到),但是总会有一点偏移。我尝试使用+2
或+5
消除此偏移量,但不起作用。
我使用.grid()
放置小部件。
如何使所有小部件具有相同的长度?
所有小部件的行代码具有相同的长度
"""
Permet de modifier la taille de la colonne avec les médicaments1...
les 4 variables sont utilisées pour eviter l'erreur avec la fonction trace
"""
longeur_medoc_1 = len(self.entry_medicament_1.get())
longeur_medoc_2 = len(self.entry_medicament_2.get())
longeur_classe_atc_1 = len(self.te_classe_atc_medicament_1.get())
longeur_classe_atc_2 = len(self.te_classe_atc_medicament_2.get())
longeur = [longeur_medoc_1, longeur_medoc_2, longeur_classe_atc_1, longeur_classe_atc_2]
longeur_max = max(longeur)
if longeur_max < 30: longeur_max = 30
self.description_probleme['width'] = longeur_max
self.entry_medicament_1['width'] = longeur_max + 2
self.classe_atc_medicament_1['width'] = longeur_max + 2
self.entry_medicament_2['width'] = longeur_max + 2
self.classe_atc_medicament_2['width'] = longeur_max + 2
self.entry_date_contact_medecin['width'] = longeur_max
self.retour_medecin['width'] = longeur_max + 5
self.devenir_intervention['width'] = longeur_max + 2
答案 0 :(得分:0)
grid()
具有选项sticky=
,可用于调整窗口小部件的大小。
使用sticky="we"
可以调整west-east
的大小,这意味着left-right
没有sticky="we"
使用sticky="we"
import tkinter as tk
root = tk.Tk()
label = tk.Label(root, text='Input', bg='red')
label.grid(row=0, column=0, sticky='we')
button = tk.Text(root)
button.grid(row=1, column=0, sticky='we')
entry = tk.Entry(root)
entry.grid(row=2, column=0, sticky='we')
button = tk.Button(root, text='OK')
button.grid(row=3, column=0, sticky='we')
root.mainloop()
它也有padx
,pady
,ipadx
,ipady
来增加边距。
effbot.org上的文档:grid()