首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PGU HTML渲染器无法呈现大多数站点

PGU HTML渲染器无法呈现大多数站点
EN

Stack Overflow用户
提问于 2010-06-05 20:39:24
回答 1查看 603关注 0票数 2

我正在尝试用游戏制作一个网页浏览器。我正在使用PGU进行html渲染。当我访问像example.com这样的简单站点时,它工作得很好,但是当我尝试加载任何使用html表单(比如谷歌 )的更复杂的内容时,我会得到以下错误:

代码语言:javascript
复制
UnboundLocalError: local variable 'e' referenced before assignment

我查看了PGU html呈现文件,发现了以下代码段:

代码语言:javascript
复制
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没有定义。我猜原因是,检查输入类型并创建e变量的if语句与任何内容都不匹配。我添加了一行来打印_type变量,当我尝试谷歌苹果时,我得到了“隐藏”。有任何方法来呈现带有PGU类型“隐藏”类型的表单项吗?

编辑:

如果我在If语句中添加了一个部分来检查type_是否等于“隐藏”,那么我应该在其中添加什么呢?

编辑2:

我已经意识到,html呈现不是很好(它甚至显示javascript代码)的PGU,所以我想知道是否有任何其他方式来呈现html在一个游戏窗口。

EN

回答 1

Stack Overflow用户

发布于 2010-06-13 05:47:59

我认为可以将PyGame嵌入到PyQT窗口中。不过,与其说这是一种优雅的解决方案,不如说是一种工作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2982016

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档