2013-11-14 2 views
2

안녕하세요, StringVar()가 정의되지 않았으며 그 작은 것이지만 tkinter에 익숙하지 않았으므로 도움이 필요합니다. 감사합니다.Tkinter StringVar 오류

import tkinter as tk 


class Converter1(tk.Tk): 
    def __init__(self): 
     tk.Tk.__init__(self) 
     self.entry = tk.Entry(self) 
     self.variable = StringVar() 
     self.variable.set("Miles to Kilometers") # default dropdown menu value 
     self.menu = tk.OptionMenu(self, variable, "Miles to Kilometers", "Kilometers to Miles") 
     self.button = tk.Button(self, text="Convert!", command=self.convertMK) 
     self.button.pack() 
     self.menu.pack() 
     self.button.pack() 
     self.entry.pack() 

    def convtertMK(self): # converts the miles and kilometers using the dropdown menu 
     if var.get() == "Miles to Kilometers": 
      print(int(self.entry.get()) * 1.6093) 
     else: 
      print(int(self.entry.get())/1.6093)   



converter = Converter1() 

여기 오류입니다 :

Traceback (most recent call last): 
    File "/Users/MaxBookPro/Desktop/test.py", line 25, in <module> 
    converter = Converter1() 
    File "/Users/MaxBookPro/Desktop/test.py", line 8, in __init__ 
    self.variable = Variable1 
NameError: global name 'Variable1' is not defined 

다시 한번 감사

여기 내 코드입니다.

답변

2

지정한 다른 모든 tk 기능과 마찬가지로 tk.StringVar()을 지정해야합니다.

self.variable = tk.StringVar() 

이것은 단지 import tk 이었기 때문입니다. 또는 다음 두 줄 중 하나를 사용하여 필요한 함수 만 가져올 수 있습니다.

관련 문제