我正在尝试创建一个简单的程序,我希望将文本与右侧或左侧对齐。例如:
|Test |
| Test|
我的想法是为文本创建标签,并在第1列放置右对齐文本,在第0列左对齐。
from tkinter import *
labels = []
i = 0
window = Tk()
window.geometry('300x500')
def newlabel(t,align):
global i
label = Label(window,text=t)
label.grid(row=i,column=align)
label.columnconfigure(0,minsize=150)
label.columnconfigure(1,minsize=150)
labels.append(label)
i += 1
newlabel('Test',0)
newlabel('Test',1)
window.mainloop()
然而,右侧的“测试”未正确放置:它位于第一个“测试”的旁边。
如何更改代码以将其完全放在右边?
由于
答案 0 :(得分:0)
主要问题是你在错误的对象上调用columnconfigure
。您应该在包含该列的窗口小部件上调用它,而不是在列中的窗口小部件。在你的情况下,你应该做window.columnconfigure(...)
您可能还希望为这些列赋予权重(也使用columnconfigure
方法,将属性weight
设置为正整数),以便它们增长和缩小以适合窗口。如果您这样做,您还需要在将其添加到列时设置sticky
属性,以便它们增长以填充其列。