Python错误笔记:Unresolved attribute reference ‘xxx‘ for class ‘xxx‘

读错误信息就能大概知道是属性分配的问题,如下test2函数内self.show这里下划线报错

class Application(Frame):  # gui程序类的写法,继承Frame容器组件,tkinter专用

    def __int__(self, r):
        self.r = r
        self.pack()
        self.creatWidget()

    def creatWidget(self):
        Button(self, text='choose the file', command=self.test2).pack()

        show = Label(self, width=40, height=3, bg='green')
        show.pack()

    def test2(self):
        f = askopenfilename(title='上传文件', initialdir='C:/1_study/pyCharm4.3/PyCharm 2023.1/pythonProject',
                            filetypes=[('视频文件', '.mp4')])
        self.show['text'] = f

类中各个定义的属性不能直接调用,试了一下必须要通过传参的形式才可以调用,属于私有属性,如下修改,记录一下

class Application(Frame):  # gui程序类的写法,继承Frame容器组件,tkinter专用

    def __int__(self, r):
        self.r = r
        self.pack()
        self.creatWidget()

    def creatWidget(self):
        Button(self, text='choose the file', command=lambda :self.test2(show)).pack()

        show = Label(self, width=40, height=3, bg='green')
        show.pack()

    def test2(self,show):
        f = askopenfilename(title='上传文件', initialdir='C:/1_study/pyCharm4.3/PyCharm 2023.1/pythonProject',
                            filetypes=[('视频文件', '.mp4')])
        show['text'] = f

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值