我正在开发Pycharm中的Python程序。在我的代码的这一行下:
rut = Tk()
rut.tk.call('wm', 'iconphoto', rut._w, PhotoImage(file=icon_file))
我在" rut._w'"上发出警告:
访问类的受保护成员_W
,当我按CTRL ENTER时,它给了我一个选项:
添加字段属性
,当我单击它时,它将行更改为:
rut.tk.call('wm', 'iconphoto', rut.w, PhotoImage(file=icon_file))
,但我知道这并不是全部所做的,因为如果我手动更改名称,我会得到:
attributeError:'_tkinter.tkapp'对象没有属性'w'
那么这里发生了什么?_w是什么意思,.w呢?
请注意,TK是从我的项目文件中不在的TKINTER软件包中导入的,所以我想Pycharm无法编辑它。
tk定义的 您可以使用:__str__
方法返回 self._w
i。rut.tk.call('wm', 'iconphoto', str(rut), PhotoImage(file=icon_file))
Pycharm正在做的是将其添加到Tkinter
类中。这是不好的,因为您的应用程序可以保证在计算机上使用,但在Tkinker
类未修补的其他机器上不起作用。
Cmd + Click
或 Ctrl + Click
(取决于您的平台)在rut = Tk()
中的Tk()
上以打开类定义。您会在末尾看到此添加。
@property
def w(self):
return self._w