2014-07-20 6 views
0

아래 코드는 제 코드입니다. 이 코드는 다른 프로그램에서 왔기 때문에 버튼을 클릭하면 다른 프로그램에서 을 클릭하고이 코드를 시작합니다. 잠시 후 나는이 문제를 해결하려고 노력하고 있습니다. a) 이미지를 가져 와서 디렉토리에 저장하십시오. , b) canvas에 이미지를 표시하거나 "refresh"라는 버튼을 사용하여 long을 루트로 표시합니다. 새로 고침을 클릭하면 제거는 먼저 찍은 '파일'을 삭제하고, 다른 사진을 찍은 다음 두 번째 사진을 찍은 캔바스를 새로 고침하는 등의 작업을 수행합니다. 나는이 시퀀스에서 작동하도록하는 것 같지 않고 여러 예제 등을 사용했습니다. 아무도 제발 도와 드릴까요, 아마도 내 디자인이 잘못된 것입니까? 나는 다른 많은 코드를 가지고 있지만 아래 코드는 글로벌 속성 등을 호출하는 하나의 함수에 대해서만 설명한다. 나는 답을 고맙게 생각할뿐 아니라 잘못 된 것을 이해하기 위해 답을 배우기를 원한다.이미지 추가 및 제거 Tkinter/root

import os 
import sys 
import time 
from VideoCapture import Device 
impot Image 
from PIL import ImageTk, Image 
from Tkinter import * 
import Tkinter 


root = Tk() 
root.wm_title("Camera Capture") 
root.resizable(0,0) 
root.geometry("600x400") 

path = ('C:\Users\Public') 
os.chdir(path) 

def take_picture(): 
    global root 
    global path 
    os.chdir(path) 
    cam = Device() 
    cam.saveSnapshot('pic.gif') 
    webcam_pic = Tkinter.PhotoImage(file='./pic.gif') 
    item = Label(root, anchor = W, image = webcam_pic) 
    item.pack() 


button_take_picture = Button(root, text = "Take picture", command = take_picture(), bg  
=   'blue') 
button_take_picture.place(relx = .9, rely = .5, anchor = "center") 





mainloop() 

답변

0

실제로 명령이없이해야한다 '()'

command =take_picture 

button_take_picture = Button(root, text = "Take picture", command = take_picture, bg=blue') 
+0

당신은 맞다. 그 죄송합니다. –