2012-05-31 3 views
1

가져온 TkTable 모듈의 예제 GUI가 올바르게 작동합니다. 그러나 내 작업에서 TkTable을 사용하려고하면 테이블의 모든 셀이 비어 있습니다. 내 테스트 코드는 아래와 같습니다내용을 표시하는 대신 tktable의 셀이 비어 있습니다.

from Tkinter import * 
import TkTable 

class App: 

    def __init__(self, master): 
     """master is the top level window""" 


     master.geometry(("%dx%d")%(250,60)) 
     master.title("Test") 

     frame = Frame(master) 
     frame.pack() 

     var = TkTable.ArrayVar(frame) 
     for y in range(6): 
      for x in range(6): 
       index = "%i,%i" % (y, x) 
       var[index] = index 

     label = Label(frame, text="test2") 
     label.pack(side = 'top', fill = 'x') 

     quit = Button(frame, text="QUIT", command=root.destroy) 
     quit.pack(side = 'bottom', fill = 'x') 

     test = TkTable.Table(frame, 
       rows=6, 
       cols=6, 
       state='disabled', 
       width=6, 
       height=6, 
       titlerows=1, 
       titlecols=0, 
       roworigin=0, 
       colorigin=0, 
       selectmode='browse', 
       selecttype='row', 
       rowstretch='unset', 
       colstretch='last', 
       flashmode='on', 
       variable=var, 
       usecommand=0) 
     test.pack(expand=1, fill='both') 
     test.tag_configure('sel', background = 'yellow') 
     test.tag_configure('active', background = 'blue') 
     test.tag_configure('title', anchor='w', bg='red', relief='sunken') 


root = Tk() 
app = App(root) 
root.mainloop() 

표시되는 창에 모든 빈 셀이있는 테이블이 있습니다.

필자는 Python 2.6, Mac OS 10.6, Eclipse PyDev를 사용하고 있습니다. 제가 생각하기에는 문제가 있지만, 왜 제가 소스 포지에서 다운로드 한 TkTable 모듈에 제공된 예제 코드 (http://tkinter.unpy.net/wiki/TkTableWrapper)가 약간 다른 방식으로 테이블을 실행하는지 알 수는 없습니다. 그것은이 있습니다

)는 (sample_test는

root = Tk() 

root.mainloop() 

그 예를 방법 작동하지만 광산하지 않습니다 왜이 포함

if __name__ == '__main__': 
    sample_test() 

어디? 제공 할 수있는 도움에 대해 미리 감사드립니다.

답변

1

당신은 지역 변수에 인스턴스 변수 대대 글로벌 변수를 읽을 할 수 있습니다!

var의 모든 항목을 self.var으로 바꿉니다.

0

변화 스크립트 :

for y in range(6): 
    for x in range(6): 
     index = "%i,%i" % (y, x) 
     var[index] = index 

에 :

for y in range(6): 
    for x in range(6): 
     index = "%i,%i" % (y, x) 
     var.set(index,index) 
+1

코드뿐만 아니라, 왜 간단한 설명뿐만 아니라 마십시오. – Banana

관련 문제