在pygtk中单击一个小部件,显示其他小部件

时间:2014-02-10 07:21:19

标签: python-2.7 widget gtk pygtk olpc

我想在pygtk中创建一个ToolButton小部件,在其单击时显示ToolItem小部件。我有一个文件,其中包含所有类的小部件(比如widgets.py)和另一个实例化这些小部件的文件(比如demo.py)然后插入工具栏。

Demo.py

class Demo(activity.Activity):
    def __init__(self,activity):
        toolbar_box = ToolbarBox()
        self.set_toolbar_box(toolbar_box)
        toolbar_box.toolbar.insert(MathButton(self), -1)
        toolbar_box.toolbar.insert(MathStartTitleEntry(self), -1)
        toolbar_box.show_all()

Widgets.py

class MathButton(ToolButton):
    def __init__(self,activity, **kwargs):
        ToolButton.__init__(self,'add',**kwargs)
        self.props.tooltip = _('Start Maths Game')
        self.connect('clicked', self.mathfun, activity)
    def mathfun(self, button, activity):
        activity.close()

class MathStartTitleEntry(gtk.ToolItem):
    def __init__(self,activity, **kwargs):
        gtk.ToolItem.__init__(self)
        self.entry = gtk.Entry(**kwargs)
        self.entry.set_size_request(int(gtk.gdk.screen_width() / 9),-1)
        self.entry.set_text("Start ")
        self.entry.set_property("editable", False)
        self.entry.unset_flags(gtk.CAN_FOCUS)
        self.entry.show()
        self.add(self.entry)

0 个答案:

没有答案