【发布时间】:2020-06-01 20:05:38
【问题描述】:
我有这个简单的 self.btn1 代码
from tkinter import Tk, ttk, messagebox
import tkinter as tk
class Main(tk.Frame):
def __init__(self, root):
super().__init__(root)
self.btn1 = ttk.Button(self, text="test")
self.btn1.pack()
if __name__ == "__main__":
root = tk.Tk()
app = Main(root)
app.pack()
root.mainloop()
而且这段代码没有自我按钮
from tkinter import Tk, ttk, messagebox
import tkinter as tk
class Main(tk.Frame):
def __init__(self, root):
super().__init__(root)
btn1 = ttk.Button(self, text="test")
btn1.pack()
if __name__ == "__main__":
root = tk.Tk()
app = Main(root)
app.pack()
root.mainloop()
两者的工作方式相似,但有什么区别,我应该使用哪一个?
【问题讨论】:
-
self是您调用该方法的实例。对self的赋值(相反,无论first 位置参数是什么,它只是传统上 称为self)将创建实例属性。
标签: python class object tkinter self