You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AttributeError: 'NoneType'对象无'bind'属性 ttk.Combobox绑定事件报错咨询

报错原因
  • 布局方法返回值问题:Tkinter中所有组件的grid()、pack()、place()布局方法均无返回值,执行后默认返回None。你在创建Combobox时直接链式调用了grid()方法,将grid()的返回值赋值给了self.list1,导致self.list1实际为None,而非预期的Combobox实例对象,调用bind()方法时自然触发NoneType相关报错。
  • 事件绑定参数错误:bind()方法第二个参数需要传入函数对象本身,你写的list1_changed()加了括号,会在代码执行到这一行时立即调用该函数,最终绑定的是函数的返回值(此处为None),属于绑定逻辑错误。
修复方案

拆分组件创建与布局步骤,绑定事件时仅传入函数名即可,修复后的代码如下:

def frame_dbm(self): # NNo olvidar dar  self.sentinel el valor  False !!!!! Generar un FRame BASE para integrar el Label Frame
        def list1_changed(event):
            value=self.list1.get()
            print(value)

        self.LF2=LabelFrame(self.left_frame,bg="white", text="System's Data")
        self.LF2.grid(column=0,row=1,padx=2,pady=10)
        array=self.GI.view_table_log()
        self.n=StringVar()
        # 先创建Combobox实例赋值给变量,再单独调用布局方法
        self.list1=ttk.Combobox(self.LF2,textvariable=self.n,values=array,state="readonly")
        self.list1.grid(pady=5, row=0, column=0, sticky=W)
        # 绑定事件只传函数名,不加括号
        self.list1.bind("<<ComboboxSelected>>",list1_changed)

注:当前报错和你提供的SQLite读取模块无关,若后续出现下拉框无选项的问题,再排查数据库路径、表是否存在的问题即可。

内容的提问来源于stack exchange,提问作者Jonás Arbeláez Torres

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 13:42:02