파일 선택 후 Tkinter 사진이 변경되지 않음

모리스 카 솜웅

사용자가 사진을 선택하고 참조를 위해 창에서 볼 수있는 간단한 파이썬 GUI 프로그램을 구현하려고합니다.

내 코드는 다음과 같습니다.

from tkinter import *
from tkinter.filedialog import askopenfilename
from PIL import Image, ImageTk

filename = "none"
photo1 = ImageTk.PhotoImage

def fileSelect():
    global filename
    filename = askopenfilename() #input file  
    
    global photo1
    imageShow = Image.open(filename)
    imageShow = imageShow.resize((300, 350), Image.ANTIALIAS) 
    photo1 = ImageTk.PhotoImage(imageShow)     

window = Tk() #Creating window
window.title("Example") #Title of window

imageFirst = Image.open("first.jpg")
imageFirst = imageFirst.resize((300, 350), Image.ANTIALIAS)
photo1 = ImageTk.PhotoImage(imageFirst)
Label (window, image=photo1, bg="white").pack(pady=30) #Display image

Button(window, text="Select File", font="none 16", width=15, command=fileSelect).pack(pady=15)

window.mainloop()

보시다시피 photo1, fileSelect()함수가 액세스하고 변경할 수 있도록 전역으로 선언 됩니다. 프로그램이 시작되면 나중에 사용자가 선택한 이미지로 대체 될 기본 초기 이미지를 표시합니다.

내가 직면 한 문제는 사용자가 이미지를 선택한 후 원본 사진이 사라지지만 새로 선택한 이미지가 나타나지 않는다는 것입니다. 왜 이런 일이 일어나는지 이해할 수 없습니다. 도와주세요.

멋진 구름

자, 다음과 같이 레이블을 변경하여 시작하여 None.

img_l = Label(window, image=photo1, bg="white")
img_l.pack(pady=30) #Display image

그런 다음 기능을 다음과 같이 변경하십시오.

def fileSelect():
    global filename, photo1 #keeping reference
    filename = askopenfilename() #input file  
    imageShow = Image.open(filename).resize((300, 350), Image.ANTIALIAS)
    photo1 = ImageTk.PhotoImage(imageShow) #instantiate  
    img_l.config(image=photo1) #updating the image
  • config()메서드는 레이블의 이미지를 업데이트하므로 PhotoImage 인스턴스의 이미지를 변경하면 도움이되지 않습니다.

  • 또한 photo1 = ImageTk.PhotoImage사용하지 않으므로 코드 상단을 제거 할 수도 있습니다.

  • 파일을 선택하지 않으면 여전히 오류가 반환됩니다. 방법은 다음과 같습니다.

    def fileSelect():
        global filename, photo1
        try:
            filename = askopenfilename() #input file  
            imageShow = Image.open(filename).resize((300, 350), Image.ANTIALIAS) 
            photo1 = ImageTk.PhotoImage(imageShow)   
            img_l.config(image=photo1)
        except AttributeError:
            pass
    

이것이 오류를 해결하기를 바랍니다. 의심스러운 점이 있으면 알려주십시오.

건배

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

반응. 변경 선택 후 상태가 변경되지 않음

분류에서Dev

파일을 선택한 후 업데이트되지 않는 부트 스트랩 파일 선택 필드

분류에서Dev

입력 [유형 파일] 변경 후 변수 imageLen이 재설정되지 않음

분류에서Dev

Tkinter, Combobox 선택 후 일시 중지

분류에서Dev

VBScript 설정 환경 변수이지만 실행 파일이 선택되지 않음

분류에서Dev

소스 파일 삭제 후 데이터 그리드가 변경되지 않음

분류에서Dev

파일 선택 후 이미지 표시

분류에서Dev

버튼을 눌렀을 때 변경 후 Javascript 선택 옵션이 업데이트되지 않음

분류에서Dev

VBA 범위 변경 선택, 값이 변경되지 않음

분류에서Dev

Mimosa csslint 구성이 csslintrc 파일에서 선택되지 않음

분류에서Dev

모델 변경 후 업데이트되지 않는 옵션 ng-repeat 선택

분류에서Dev

HSL 색상 선택기 : 배경색이 변경되지 않음

분류에서Dev

grub 파일 변경 후 grub2가 부팅되지 않음

분류에서Dev

기본 "선택되지 않음"UITabBarItem 이미지 색상 변경

분류에서Dev

사용자가 tkinter에서 파일을 선택하지 않은 경우 코드를 계속하는 방법

분류에서Dev

파일이 선택되지 않은 경우 이진 파일을 null로 설정하는 방법

분류에서Dev

루트가 파일을 소유 한 후 유효 사용자 ID가 변경되지 않음

분류에서Dev

선택 변경시 Ajax 호출이 실행되지 않음

분류에서Dev

선택 / 클릭 후 탐색 목록이 축소되지 않음 (모바일 / 탭보기)

분류에서Dev

선택 / 클릭 후 탐색 목록이 축소되지 않음 (모바일 / 탭보기)

분류에서Dev

아포스트로피 앞에 \-values-fr.xml 파일이 변경 후 저장되지 않음

분류에서Dev

선택 변경시 SelectableList에 선택한 항목이 표시되지 않음

분류에서Dev

제출 후 Bootstrap Selectpicker 다중 선택이 선택을 유지하지 않음

분류에서Dev

선택한 옵션이 변수 변경 후 업데이트되지 않습니다.

분류에서Dev

요소 선택 후 CSS 선택이 닫히지 않음 구체화

분류에서Dev

파이프 + 선택 : 깨어나지 않음 선택

분류에서Dev

QSignalMapper가 파일을 선택한 후 매개 변수를 업데이트하지 않습니다.

분류에서Dev

asp.net 사용자 컨트롤 변경 사항이 선택되지 않음

분류에서Dev

bash에서 파일 globbing이 php -l에 의해 선택되지 않음

Related 관련 기사

  1. 1

    반응. 변경 선택 후 상태가 변경되지 않음

  2. 2

    파일을 선택한 후 업데이트되지 않는 부트 스트랩 파일 선택 필드

  3. 3

    입력 [유형 파일] 변경 후 변수 imageLen이 재설정되지 않음

  4. 4

    Tkinter, Combobox 선택 후 일시 중지

  5. 5

    VBScript 설정 환경 변수이지만 실행 파일이 선택되지 않음

  6. 6

    소스 파일 삭제 후 데이터 그리드가 변경되지 않음

  7. 7

    파일 선택 후 이미지 표시

  8. 8

    버튼을 눌렀을 때 변경 후 Javascript 선택 옵션이 업데이트되지 않음

  9. 9

    VBA 범위 변경 선택, 값이 변경되지 않음

  10. 10

    Mimosa csslint 구성이 csslintrc 파일에서 선택되지 않음

  11. 11

    모델 변경 후 업데이트되지 않는 옵션 ng-repeat 선택

  12. 12

    HSL 색상 선택기 : 배경색이 변경되지 않음

  13. 13

    grub 파일 변경 후 grub2가 부팅되지 않음

  14. 14

    기본 "선택되지 않음"UITabBarItem 이미지 색상 변경

  15. 15

    사용자가 tkinter에서 파일을 선택하지 않은 경우 코드를 계속하는 방법

  16. 16

    파일이 선택되지 않은 경우 이진 파일을 null로 설정하는 방법

  17. 17

    루트가 파일을 소유 한 후 유효 사용자 ID가 변경되지 않음

  18. 18

    선택 변경시 Ajax 호출이 실행되지 않음

  19. 19

    선택 / 클릭 후 탐색 목록이 축소되지 않음 (모바일 / 탭보기)

  20. 20

    선택 / 클릭 후 탐색 목록이 축소되지 않음 (모바일 / 탭보기)

  21. 21

    아포스트로피 앞에 \-values-fr.xml 파일이 변경 후 저장되지 않음

  22. 22

    선택 변경시 SelectableList에 선택한 항목이 표시되지 않음

  23. 23

    제출 후 Bootstrap Selectpicker 다중 선택이 선택을 유지하지 않음

  24. 24

    선택한 옵션이 변수 변경 후 업데이트되지 않습니다.

  25. 25

    요소 선택 후 CSS 선택이 닫히지 않음 구체화

  26. 26

    파이프 + 선택 : 깨어나지 않음 선택

  27. 27

    QSignalMapper가 파일을 선택한 후 매개 변수를 업데이트하지 않습니다.

  28. 28

    asp.net 사용자 컨트롤 변경 사항이 선택되지 않음

  29. 29

    bash에서 파일 globbing이 php -l에 의해 선택되지 않음

뜨겁다태그

보관