2
我想在Python中編寫一個GTK小部件,它是gtk.Bin的子類,我不確定如何去實例化它。我的班級的前幾行看起來像:Python GTK:實例化gtk.Bin的子類
class Completer(gtk.Bin):
def __init__(self, exts)):
gtk.Container.__init__(self)
child = gtk.VBox(spacing=15)
self.add(child)
我不知道如何設置子屬性,因此代碼。但它掛起來就行了gtk.Container .__的init __(個體經營)與消息:
File "C:\Users\462974\Documents\Local Sandbox\tools\python\packages\GUI\tools\SNCompleter.py", line 133, in __init__
gtk.Container.__init__(self)
TypeError: cannot create instance of abstract (non-instantiable) type `GtkBin'
這也恰好如果我叫gtk.Bin .__ init__。我不知道如何初始化這個子類,但大概是一種方法,因爲GTK確實有可用的gtk.Bin子類。
我做到了,現在運行成功,但小部件沒有顯示出來,即使我將所有內容都包裝在self.child中,並在頂層應用程序上調用show_all。 – dpitch40 2013-02-26 15:47:08
我有一個類似的probrem嘗試從'GtkBin'繼承,但使用'pygobject'而不是'pypgtk'。 [這裏](http://stackoverflow.com/questions/14253553/extending-from-gtkbin)是我當時所做的問題,顯然在'GtkBin'的綁定中存在一些問題,可能它在pygtk上是一樣的' – asermax 2013-02-26 17:48:11
子類別'gtk.Frame'或'gtk.Viewport'而不是'gtk.Bin'也修復了不顯示小部件的問題。 – cpburnz 2013-04-26 03:22:20