fishccy 发表于 2023-3-20 10:46:06

tk中self与root

这个能不能用root代替,root和self的区别是什么?{:10_243:}

isdkz 发表于 2023-3-20 10:47:34

在Tkinter中,root是主窗口对象,而self通常是指当前对象(例如,一个类的实例)。这两者的作用和含义不同,不能直接互换使用。

在Tkinter中,通常会在主程序中创建一个根窗口(也称为主窗口),这个根窗口对象可以称为root,它是整个Tkinter应用程序的根。所有其他的窗口、部件和小部件都是在root窗口下创建的。

例如,在Tkinter中创建一个Button部件,通常会先创建一个Tk对象(通常称为root),然后创建一个Button对象,并将其放置在root窗口中。示例代码如下:

import tkinter as tk

class App:
    def __init__(self, master):
      self.master = master
      self.button = tk.Button(master, text="Click me!", command=self.callback)
      self.button.pack()

    def callback(self):
      print("Button clicked!")

root = tk.Tk()
app = App(root)
root.mainloop()
在上面的代码中,root是主窗口对象,self是App类的实例,它有一个master属性,它的值是root对象,它用于创建一个Button对象,并将其放置在root窗口中。

总之,root和self在Tkinter中都有自己的作用,不能互换使用。root是主窗口对象,而self通常是指当前对象(例如,一个类的实例)。
页: [1]
查看完整版本: tk中self与root