2017-04-04 309 views
1

我想在我的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) 

回答

0

調用這個函數 -

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