我是python新手,在周围闲逛,我注意到:
from tkinter import *
def test1():
root = Tk()
txtTest1 = Entry(root).place(x=10, y=10)
print(locals())
def test2():
root = Tk()
txtTest2 = Entry(root)
txtTest2.place(x=10, y=10)#difference is this line
print(locals())
test1()
test2()
输出包括:
'txtTest1': None
'txtTest2': <tkinter.Entry object at 0x00EADD70>
为什么test1有一个None
而不是{
我使用的是python3.2和PyScripter。在
您正在创建一个对象(
txtTest1
),然后在该对象上调用一个方法(place
)。因为您将其作为一个表达式进行编码,所以最终方法的结果就是返回的结果。place
返回None
,因此txtTest1
被设置为None
如果你想保存对一个小部件的引用,你需要把创建和布局分开(这是一件好事…)
Entry
的place
方法不返回值。它作用于现有的入口变量。在因为入口.地点()无返回
用一种更像C语言的语言,你可以:
而txtText1将是Entry对象,但这种语法在Python中是非法的。在
相关问题 更多 >
编程相关推荐