2011-11-07 79 views
1

我正在使用python并希望在杂乱的阶段中嵌入gtk3小部件。但是,看起来pyclutter-gtkpyclutter-gsk已停止了一段时间。有什么替代绑定,我们可以在Python中使用? 我试过谷歌,但没有运气。只有一个项目(http://code.google.com/p/pyclutter-widgets/)看起来很有趣,但它一年内没有活动...Python绑定杂波-gtk和杂波-gsk

回答

1

所有针对gtk3和杂乱的python绑定已被移到内省 - 基于pygobject;你应该能够使用整洁的GTK和整洁的消费税从pygobject> = 2.30简单地做:

from gi.repository import GtkClutter

您可以按照在Gnome wiki entry for IntrospectionPorting的文档。

+0

感谢您的答复Gtk.HBox。它适用于Clutter,但是当导入ClutterGtk时我得到了ImportError。仅供参考,我使用GNOME3和Python 2.7的Ubuntu 11.10。我已经安装了libclutter-gtk-1.0 *。任何线索? –

+0

呃... ** GtkClutter **有效,但不是_ClutterGtk_。我想我已经安装了gir1.2-gtkclutter-1.0。 –

0

下面是如何在GtkClutter阶段,scrollActor添加到与杂波-GTK的1.2.x和python-3.x的

from gi.repository import Gtk, Gdk, GtkClutter, Clutter 

class EmbeddedGtkClutterStageWithScrollActor(Gtk.Window): 

    def __init__(self): 
     super(EmbeddedGtkClutterStage, self).__init__() 

     # Initialise GtkClutter 
     GtkClutter.init(sys.argv) 


     self.connect('destroy', lambda w: Gtk.main_quit()) 

     self.set_default_size(1024, 768) 
     self.override_background_color(Gtk.StateFlags.NORMAL, Gdk.RGBA(0, 0, 0, 1)) 

     display = Gdk.Display.get_default() 
     screen = display.get_default_screen() 
     css_provider = Gtk.CssProvider() 

     css_provider.load_from_path('style.css') 
     context = Gtk.StyleContext() 
     context.add_provider_for_screen(screen, css_provider, Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION) 


     hbox = Gtk.HBox(False, 2) 
     vbox.add(hbox) 

     # Create Clutter Stage 
     embed = GtkClutter.Embed()  

     hbox.add(embed) 
     embed.set_size_request(900, 500) 

     stage = embed.get_stage() 
     # set stage color to black 
     stage.set_color(Clutter.Color.new(0, 0, 0, 255)) 

     # Create a Scrollable Actor and add to the Stage 
     scrollActor = Clutter.ScrollActor() 

     scrollActor.set_scroll_mode(Clutter.ScrollMode.HORIZONTALLY) 
     stage.add_actor(scrollActor) 

     # scroll the scrollActor to x/y coords 
     point = Clutter.Point() 
     point.x = 50 
     point.y = 100 
     scrollActor.scroll_to_point(point) 

     hbox.show_all() 


EmbeddedGtkClutterStageWithScrollActor() 
Gtk.main()