2014-03-28 2 views
2

내가 파이썬에서 내 GUI 응용 프로그램에 대한 콤보를 만든하지만 내 초기화에 기능을 내 콤보를 선언 할 때이 오류를 받고있다 정의되지 않은 여기파이썬 Tkinter를 : 나가서 설명하자면 NameError :</p> <p>: 전역 이름 '콤보'는

TypeError: 'Combobox' object is not callable 내가 이것에 대한 사용하고있는 코드입니다 :이 문제에 대한 다른 솔루션을 시도

class ProgramingPractice(Tk): 

    def __init__(self): 
     super(ProgramingPractice, self).__init__() 
     self.variableCombo_value = StringVar() 
     self.variableCombo = ttk.Combobox() 

    def questionVariables(self): 

     self.variableCombo_value = StringVar() 
     self.variableCombo(self.formSize, textvariable = self.variableCombo, state = 'readonly') 
     self.variableCombo['values'] = ('Month', 'Year', 'Age', 'Day') 
     self.variableCombo.pack() 

하지만 난 하나가 Attibute 오류 또는 이름 오류를 가지고있다.

누구든지이 문제의 해결책을 알고 있습니까?

import sys 
from tkinter import * 
from tkinter import ttk 


class ProgramingPractice(Tk): 

    def __init__(self): 
     super(ProgramingPractice, self).__init__() 
     self.formSize() 
     self.variableCombo_value = StringVar() 
     self.variableCombo = ttk.Combobox() 


    def formSize(self): 
     self.geometry("700x450+200+200") # Sets the size of the gui 

    def questionVariables(self): 

     self.variableCombo_value = StringVar() 
     self.variableCombo.configure(self.formSize, textvariable = self.variableCombo_value, state = 'readonly') 
     self.variableCombo['values'] = ('Month', 'Year', 'Age', 'Day') 
     self.variableCombo.pack() 


pp = ProgramingPractice() 
pp.questionVariables() 
+0

'ttk', 당신이 그것을 어떻게 가져 않았다보십시오 :

여전히 오류가 발생하는 동안 코드를 만들 수있는 가장 작은입니까? 또한 파이썬 2 또는 3? –

+0

ttk는 tkinter에서 가져온 tkinter 테마 위젯 세트입니다. import ttk – Tumbler

+0

'__init__'에는 오류가 없지만'questionVariables'의 두 번째 줄에는 오류가 없습니다. 'self.variableCombo.configure (stuff)'를 시도하십시오. 또한,'textvariable' 매개 변수는 아마도 콤보 박스가 아닌'StringVar'이어야합니다 ... –

답변

2

정확히 무엇
textvariable = self.variableCombo_value