我在使用带有self
的tkinter时遇到了一个很大的问题
请大家回答一下,谢谢!我得到的错误类似于,self could not be given a variable outside a function
。你知道吗
from tkinter import *
root = Tk()
class start():
global self
self = root
def __init__():
self.title('__init__')
self.geometry('300x300')
__init__(self)
class window_extra():
def canvas(self):
global self
selfc = Canvas(self, bg='black').pack()
canvas(self)
self.mainloop()
谢谢!你知道吗
为了简单起见,我对其进行了重构,但我认为您需要更好地理解Python中的对象,然后才能深入了解GUI。我想你的意思是这样的:
不应将self用作变量名,因为它用于指定某个对象是否是类实例的属性。你知道吗
您不需要在类中使用global,因为在处理通过类所需的变量时,大多数情况下都使用类属性。你知道吗
从你展示的代码来看,我认为你正在尝试这样做:
然而,我相信你正在努力与面向对象编程方法,我建议不要使用面向对象编程开始,如果是这样的情况。你知道吗
也许可以在youtube上看一些教程或者点击Codecadamy。你知道吗
针对您的意见:
不懂一件事并不意味着说的是坏事。使用
self.master
可以提供一个类属性,该属性与根Tk()变量相关联。这允许类中的任何方法与Tk()的实例交互。我不能说其他编程语言,但是self
的使用在python的OOP中是非常重要的。保留self
以引用对象实例或类属性可能不是100%必需的,但它是self
的公认和已知用法,确实不应更改/覆盖。你知道吗相关问题 更多 >
编程相关推荐