2014-06-04 95 views
0

我怎麼能在我的自定義窗口小部件實現GtkOrientable,什麼我迄今所做的是:如何在我的自定義窗口小部件實現GtkOrientable

class MyOwnWidget(Gtk.Orientable, Gtk.DrawingArea): 
    ... 

當我運行的Gtk拋出:

/usr/lib/python3.4/site-packages/gi/types.py:194: Warning: Object class gtkmeter+GtkMeter doesn't implement property 'orientation' from interface 'GtkOrientable' 
_gobject.type_register(cls, namespace.get('__gtype_name__')) 

那麼哪些是實施GtkOrientable的正確步驟?

回答

2

GtkOrientable要求「orientation」屬性存在於實現此接口的類上。在Python做到這一點,你可以用GObject.Property:

from gi.repository import GObject 
from gi.repository import Gtk 

class MyOwnWidget(Gtk.DrawingArea, Gtk.Orientable): 
    orientation = GObject.Property(type=Gtk.Orientation, default=Gtk.Orientation.VERTICAL) 

還要注意繼承的順序,因爲Gtk.Orientable是一個接口的具體類後應該去你是子類。另見: https://developer.gnome.org/gtk3/stable/gtk3-Orientable.html

相關問題