【发布时间】:2021-01-18 11:51:06
【问题描述】:
我正在尝试学习 tkinter,但遇到了一个小问题。 我创建了一个非常简单的窗口,在“Activity:”、“Time Spend:”顶部有 2 条消息,在窗口底部有一个“+”按钮。
from tkinter import *
root = Tk()
root.geometry("274x520+868+240")
root.minsize(120, 1)
root.maxsize(3284, 1068)
root.resizable(0, 0)
root.title("Learning")
root.configure(background="black")
def new_entry():
n = [n for n in range(30, 490, 30)]
for i in n:
e1 = Entry(root)
e2 = Entry(root)
e1.place(y=i, width=133)
e2.place(x=141, y=i, width=137)
print(e1, e2)
return e1, e2
b1 = Button(root)
b1.place(y=499, width=276)
b1.configure(text="+")
b1.configure(command=new_entry)
b1.configure(background="darkgrey")
msg1 = Message(root)
msg1.place(width=133, height=29)
msg1.configure(text="Activity:")
msg1.configure(background="darkgrey")
msg2 = Message(root)
msg2.place(x=141, width=137, height=29)
msg2.configure(text="Time Spend:")
msg2.configure(background="darkgrey")
root.mainloop()
该按钮应该在每次单击时创建两个相邻的条目,但是如果我单击该按钮,它将创建一次条目,再次单击它不会在窗口上创建条目,而只是创建这在我的终端:
.!entry .!entry2
.!entry3 .!entry4
.!entry5 .!entry6
.!entry7 .!entry8
如果我删除 "return e1,e2" 语句,所有条目都会在终端和窗口中创建,只需单击 1 次按钮,而不是 2 乘 2 创建每次点击按钮。
如果我删除 "print(e1,e2)" 语句,单击按钮将只创建 2 个条目一次,并且不会在终端中显示任何内容。
创建新条目时应留出一点空间,直到到达 Button 的上边界(在本例中为 32 个条目,16 行)。
谁能解释一下为什么 msg1 显示错误(它没有居中并且分成两行),但是 msg2 很好,它们具有相同的规格??
【问题讨论】:
标签: python-3.x tkinter button