AttributeError:'NoneType'对象没有属性'pack'

问题描述:

我想在我的GUI应用程序中添加一个视频,在Python中单击按钮后读取新框架。但我得到这个错误:AttributeError:'NoneType'对象没有属性'pack'

AttributeError: 'NoneType' object has no attribute 'pack'.

当我取消注释包方法,然后错误消失,但白色的空白窗口出现。

def show_vid(): 

    print cap 
    print rdfile 

    _ ,image = cap.read() 

    cv2.imwrite("frame.jpg" , image) 
    image=Image.open('F:\\MachineLearning\\\\frame.jpg')#creating a function 
    img = ImageTk.PhotoImage(image) 
    imglabel = Label(window, image=img) 
    imglabel.grid(row=0 , column=0)#.pack().place(bordermode=OUTSIDE, x=10, y=100) 

调用这个函数 -

imglabel.grid(row = 0 , column = 0) 

返回无。所以当你尝试打电话给pack()时,你会得到这个错误。简单,不是吗?

更加准确:我怀疑grid()不会返回任何东西。这是另一种说法,它返回None。您正在错误地使用该功能。

编辑:

我一无所知Tkinter的,但我相信你需要你的函数调用分裂,2分独立的:

imglabel.grid(row=0 , column=0) //this returns nothing, so you can't call another function here. 
imglabel.pack().place(bordermode=OUTSIDE, x=10, y=100) 
+0

其工作正常,但会引发错误......我也提到了当我取消注释包()声明,并只使用网格()方法...即使然后框架没有上传,但出现一个空白的白色窗口 –

+0

我删除了...错误已删除,但我没有形成图像我的gui现在 –

+0

不删除代码 - 只需将呼叫分成两行即可。你能编辑这个问题来反映新的代码吗? – FuzzyAmi