파이 게임을 사용하여 웹 브라우저를 만들려고합니다. 나는 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 변수를 인쇄 할 줄을 추가하고 google 및 apple을 시도하면 '숨김'이 표시됩니다. PGU에서 '숨김'유형의 양식 항목을 렌더링하는 방법이 있습니까?
편집 :
내가 그 안에 넣어 것입니다 무슨 type_는 '숨겨진'와 동일한 있다면 문이 확인하는 경우에 섹션을 추가 한 경우?
편집 2 :
저는 PGU 용으로 HTML 렌더링이 좋지 않습니다 (자바 스크립트 코드도 표시됨). 그래서 파이 게임 창에 HTML을 렌더링하는 다른 방법이 있는지 알고 싶습니다.