Tkinter中B = Button(....)。grid()和B = Button(...)B.grid()有什么区别

时间:2019-04-12 13:22:21

标签: python tkinter

我是tkinter的新手,我正在尝试按钮,但我发现有时相同的代码行得通,有时却行不通。

例如,两者之间的区别是什么

button1 = Button(root, text="test").grid(column=1, row=1)

button1 = Button(root, text="test")
button1.grid(column=1, row=1)

2 个答案:

答案 0 :(得分:0)

此:

button1 = Button(root, text="test").grid(column=1, row=1)

将button1设置为.grid()的返回值,这是没有的。这根本不会创建按钮变量/引用。这意味着稍后将无法使用button1.config()配置按钮,因为button1引用不存在。

此:

button1 = Button(root, text="test")
button1.grid(column=1, row=1)

创建button1变量/引用。这样创建按钮的方式将使您稍后可以使用button1.config()配置按钮。例如。更改其文本。

答案 1 :(得分:0)

在第二个

button1 = Button(root, text="test") #here you are creating an Tkinter label object
#Now you can configure the label object by simply using the button1 variable

button1.grid(column=1, row=1) #positing it in the frame using grid-method

在第一个

button1 = Button(root, text="test").grid(column=1, row=1)

如果以后要更改其名称(例如名称)或难以更改的内容,请使用此方法。

实际上是使用

button1 = Button(root, text="test").grid(column=1, row=1)

就像使用这个

Button(root, text="test").grid(column=1, row=1)