2010-06-05 4 views
2

파이 게임을 사용하여 웹 브라우저를 만들려고합니다. 나는 HTML 렌더링을 위해 PGU를 사용하고있다. 나는 간단한 사이트를 방문 할 때 그것은 example.com처럼 잘 작동하지만 내가 시도하고 아무것도에게 google처럼, HTML 양식을 사용하여 더 복잡한을로드 할 때이 오류가 얻을 :PGU HTML 렌더러가 대부분의 사이트를 렌더링 할 수 없습니다.

UnboundLocalError: local variable 'e' referenced before assignment 

내가 PGU의 HTML 렌더링 파일에 모습을 이 코드 세그먼트를 찾았습니다 :

def start_input(self,attrs): 
    r = self.attrs_to_map(attrs) 
    params = self.map_to_params(r) #why bother 
    #params = {} 

    type_,name,value = r.get('type','text'),r.get('name',None),r.get('value',None) 
    f = self.form 
    if type_ == 'text': 
     e = gui.Input(**params) 
     self.map_to_connects(e,r) 
     self.item.add(e) 
    elif type_ == 'radio': 
     if name not in f.groups: 
      f.groups[name] = gui.Group(name=name) 
     g = f.groups[name] 
     del params['name'] 
     e = gui.Radio(group=g,**params) 
     self.map_to_connects(e,r) 
     self.item.add(e) 
     if 'checked' in r: g.value = value 
    elif type_ == 'checkbox': 
     if name not in f.groups: 
      f.groups[name] = gui.Group(name=name) 
     g = f.groups[name] 
     del params['name'] 
     e = gui.Checkbox(group=g,**params) 
     self.map_to_connects(e,r) 
     self.item.add(e) 
     if 'checked' in r: g.value = value 

    elif type_ == 'button': 
     e = gui.Button(**params) 
     self.map_to_connects(e,r) 
     self.item.add(e) 
    elif type_ == 'submit': 
     e = gui.Button(**params) 
     self.map_to_connects(e,r) 
     self.item.add(e) 
    elif type_ == 'file': 
     e = gui.Input(**params) 
     self.map_to_connects(e,r) 
     self.item.add(e) 
     b = gui.Button(value='Browse...') 
     self.item.add(b) 
     def _browse(value): 
      d = gui.FileDialog(); 
      d.connect(gui.CHANGE,gui.action_setvalue,(d,e)) 
      d.open(); 
     b.connect(gui.CLICK,_browse,None) 

    self._locals[r.get('id',None)] = e 

전자가 정의되지 않았기 때문에 마지막 줄에 오류가 있습니다. 그 이유는 입력의 유형을 확인하고 e 변수를 만드는 if 문이 아무 것도 일치하지 않는다는 이유를 추측합니다. _type 변수를 인쇄 할 줄을 추가하고 googleapple을 시도하면 '숨김'이 표시됩니다. PGU에서 '숨김'유형의 양식 항목을 렌더링하는 방법이 있습니까?

편집 :
내가 그 안에 넣어 것입니다 무슨 type_는 '숨겨진'와 동일한 있다면 문이 확인하는 경우에 섹션을 추가 한 경우?
편집 2 :
저는 PGU 용으로 HTML 렌더링이 좋지 않습니다 (자바 스크립트 코드도 표시됨). 그래서 파이 게임 창에 HTML을 렌더링하는 다른 방법이 있는지 알고 싶습니다.

답변

1

PyGT 창에 PyGame을 삽입 할 수 있다고 생각합니다. 그것은 우아한 해결책보다는 주위에 일의 더 많은 것이다.

관련 문제