나중에 사용하기 위해 OptionMenu (tkinter)에서 값을 할당하려면 어떻게해야합니까?

탁 응 우옌

저는 Python을 처음 접했고 단위를 변환하는 프로그램 (tkinter 사용)을 만들려고합니다. 5 번째 줄에 문제가있는 것 같아요. 누구든지 내 코드를 검토하고 수정하도록 제안 할 수 있습니까? 감사합니다

choices = {'feet': 0.3048,  'inches': 0.0254}
choice = StringVar()
popupChoice = OptionMenu(secondFrame, choice, *choices)
popupChoice.pack()
pick_choice = choices[choice.get()]

def calculate(*args):
    try:
        value = float(feet.get())
        meter.set(value*float(pick_choice))
    except ValueError:
        print("error")
Foxpace

StringVar ()는 기본적으로 빈 문자열 ''을 제공하므로 사전에 아무것도 도달 할 수 없으며 KeyError가 발생합니다. 간단합니다.

# choices.keys() will provide list of your keys in dictionary 
if choice.get() in choices.keys():
    pick_choice = choices[choice.get()]

또는 그 전에 기본값을 설정할 수 있습니다. 예를 들면 다음과 같습니다.

choice = StringVar()
choice.set("feet")

예, 어떻게 보일 수 있는지 :

from tkinter import *

def calculate():
    try:
        value = float(feet.get())
        label.config(text=str(value*float(choices[choice.get()])))
    except ValueError or KeyError:
        label.config(text='wrong/missing input') 
# config can change text and other in widgets

secondFrame = Tk()
# entry for value
feet = StringVar()
e = Entry(secondFrame, textvariable=feet)
e.grid(row=0, column=0, padx=5) # grid is more useful for more customization
# label showing result or other text
label = Label(secondFrame, text=0)
label.grid(row=0, column=2)
# option menu
choices = {'feet': 0.3048,  'inches': 0.0254}
choice = StringVar()
choice.set("feet")  # default value, to use value: choice.get()
popupChoice = OptionMenu(secondFrame, choice, *choices)
popupChoice.grid(row=0, column=1, padx=5)
# button to launch conversion, calculate is not called with variables
# call them in function, or use lambda function - command=lambda: calculate(...)
button1 = Button(secondFrame, command=calculate, text='convert')
button1.grid(row=1, column=1)
secondFrame.mainloop()

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

나중에 Excel에서 사용하기 위해 'if'문에 값을 저장하려면 어떻게해야합니까?

분류에서Dev

Typescript를 사용하여 생성자의 배열에 값을 할당하려면 어떻게해야합니까?

분류에서Dev

Swift 2 : AnyObject에 사전을 할당하려면 어떻게해야합니까?

분류에서Dev

나중에 사용하기 위해 값을 2D 배열에 저장하려면 어떻게합니까?

분류에서Dev

BPEL SOA에서 Assign / XSLT를 사용하여 중첩 노드에서 값을 분할하고 할당하려면 어떻게해야합니까?

분류에서Dev

MySQL에서 이중 열을 읽고 C # 이중 변수에 할당하려면 어떻게해야합니까?

분류에서Dev

반복 항목 값을 모델에 할당하려면 어떻게해야합니까?

분류에서Dev

템플릿에 값을 한 번만 할당하려면 어떻게해야합니까?

분류에서Dev

클릭시 입력 요소에 검색 결과의 값을 할당하려면 어떻게해야합니까?

분류에서Dev

출력 (튜플)을 키 값에 할당하려면 어떻게해야합니까? 파이썬

분류에서Dev

나중에 사용하기 위해 모든 javascript 출력을 txt 파일에 저장하려면 어떻게해야합니까?

분류에서Dev

나중에 래핑 할 때 동기 코드 실행을 중지하려면 어떻게해야합니까?

분류에서Dev

Linux에서 사용자에게 초기 / 기본 암호를 할당하려면 어떻게해야합니까?

분류에서Dev

인접한 셀에 값이 없으면 위의 셀을 복사하여 열을 채우고 해당 값을 복사하려면 어떻게해야합니까?

분류에서Dev

Django에서 HTML을 표시하기 위해 동적으로 할당 된 위젯을 얻으려면 어떻게해야합니까?

분류에서Dev

Angularjs에서 값을 얻기 위해 입력 필드에서 자동 완성 기능을 사용하려면 어떻게해야합니까?

분류에서Dev

나중에 작업에서 사용하기 전에 Gradle이 중간 파일을 삭제하지 못하도록하려면 어떻게해야합니까?

분류에서Dev

Verilog에서 둘 이상의 값 할당 오류를 수정하려면 어떻게해야합니까?

분류에서Dev

API에 전달할 값 배열에 키를 할당하려면 어떻게해야합니까?

분류에서Dev

순위 함수가 동일한 순위의 행에 다른 값을 할당하도록하려면 어떻게해야합니까?

분류에서Dev

Xamarin에서 상수에 색을 할당하려면 어떻게해야합니까?

분류에서Dev

CloudFormation에서 생성 된 SecurityGroup을 ELB에 할당하려면 어떻게해야합니까?

분류에서Dev

드롭 다운 제어에서 사용하기 위해 테이블의 값을 필터링하려면 어떻게해야합니까?

분류에서Dev

읽기 값 제어를 위해 UpdatePanel에서 제어에 액세스하려면 어떻게해야합니까?

분류에서Dev

Ruby를 사용하여 범위 내에서 고유 한 단어 집합을 찾기 위해 REGEX를 사용하려면 어떻게해야합니까?

분류에서Dev

tkinter 버튼에서 실행되는 함수에서 값을 반환하려면 어떻게해야합니까?

분류에서Dev

Optic API : 최대 값에 해당하는 열의 값을 얻으려면 어떻게해야합니까?

분류에서Dev

Optic API : 최대 값에 해당하는 열의 값을 얻으려면 어떻게해야합니까?

분류에서Dev

값을 추출하기 위해 자바 스크립트에서이 키를 사용하여 코드를 작성하려면 어떻게해야합니까?

Related 관련 기사

  1. 1

    나중에 Excel에서 사용하기 위해 'if'문에 값을 저장하려면 어떻게해야합니까?

  2. 2

    Typescript를 사용하여 생성자의 배열에 값을 할당하려면 어떻게해야합니까?

  3. 3

    Swift 2 : AnyObject에 사전을 할당하려면 어떻게해야합니까?

  4. 4

    나중에 사용하기 위해 값을 2D 배열에 저장하려면 어떻게합니까?

  5. 5

    BPEL SOA에서 Assign / XSLT를 사용하여 중첩 노드에서 값을 분할하고 할당하려면 어떻게해야합니까?

  6. 6

    MySQL에서 이중 열을 읽고 C # 이중 변수에 할당하려면 어떻게해야합니까?

  7. 7

    반복 항목 값을 모델에 할당하려면 어떻게해야합니까?

  8. 8

    템플릿에 값을 한 번만 할당하려면 어떻게해야합니까?

  9. 9

    클릭시 입력 요소에 검색 결과의 값을 할당하려면 어떻게해야합니까?

  10. 10

    출력 (튜플)을 키 값에 할당하려면 어떻게해야합니까? 파이썬

  11. 11

    나중에 사용하기 위해 모든 javascript 출력을 txt 파일에 저장하려면 어떻게해야합니까?

  12. 12

    나중에 래핑 할 때 동기 코드 실행을 중지하려면 어떻게해야합니까?

  13. 13

    Linux에서 사용자에게 초기 / 기본 암호를 할당하려면 어떻게해야합니까?

  14. 14

    인접한 셀에 값이 없으면 위의 셀을 복사하여 열을 채우고 해당 값을 복사하려면 어떻게해야합니까?

  15. 15

    Django에서 HTML을 표시하기 위해 동적으로 할당 된 위젯을 얻으려면 어떻게해야합니까?

  16. 16

    Angularjs에서 값을 얻기 위해 입력 필드에서 자동 완성 기능을 사용하려면 어떻게해야합니까?

  17. 17

    나중에 작업에서 사용하기 전에 Gradle이 중간 파일을 삭제하지 못하도록하려면 어떻게해야합니까?

  18. 18

    Verilog에서 둘 이상의 값 할당 오류를 수정하려면 어떻게해야합니까?

  19. 19

    API에 전달할 값 배열에 키를 할당하려면 어떻게해야합니까?

  20. 20

    순위 함수가 동일한 순위의 행에 다른 값을 할당하도록하려면 어떻게해야합니까?

  21. 21

    Xamarin에서 상수에 색을 할당하려면 어떻게해야합니까?

  22. 22

    CloudFormation에서 생성 된 SecurityGroup을 ELB에 할당하려면 어떻게해야합니까?

  23. 23

    드롭 다운 제어에서 사용하기 위해 테이블의 값을 필터링하려면 어떻게해야합니까?

  24. 24

    읽기 값 제어를 위해 UpdatePanel에서 제어에 액세스하려면 어떻게해야합니까?

  25. 25

    Ruby를 사용하여 범위 내에서 고유 한 단어 집합을 찾기 위해 REGEX를 사용하려면 어떻게해야합니까?

  26. 26

    tkinter 버튼에서 실행되는 함수에서 값을 반환하려면 어떻게해야합니까?

  27. 27

    Optic API : 최대 값에 해당하는 열의 값을 얻으려면 어떻게해야합니까?

  28. 28

    Optic API : 최대 값에 해당하는 열의 값을 얻으려면 어떻게해야합니까?

  29. 29

    값을 추출하기 위해 자바 스크립트에서이 키를 사용하여 코드를 작성하려면 어떻게해야합니까?

뜨겁다태그

보관