2017-04-04 45 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) 

はNoneを返されません。そのためpack()を呼び出そうとすると、そのエラーが発生します。シンプルな、それはない?

さらに正確に:grid()は何も返しません。それは何も返さないという別の方法です。その関数を間違って使用しています。

EDIT:

私は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

その作業罰金が、エラーを発生させます...私も、と述べましたpack()ステートメントのコメントを外してgrid()メソッドを使用すると、フレームがアップロードされず白い空白のウィンドウが表示されます –

+0

私はそれを削除しました...エラーは削除されましたが、私のgui今 –

+0

コードを削除しない - ちょうど2つの行に呼び出しを分割します。新しいコードを反映するために質問を編集できますか? – FuzzyAmi

関連する問題