Re: [問題] pygtk繼承問題 and __init(self)__
原諒我自問自答的灌水行為...
//----------------------------------------------------------
原來是當我寫了
class MyPanel(gtk.DrawingArea):
def __init__(self):
# do something
gtk.DrawingArea的constructor (or __init__()?)並沒有被呼叫到...
(我比較熟的是c++,所以python的繼承體系的instance機制很不熟...)
所以我改成這樣:
class MyPanel(gtk.DrawingArea):
def __init__(self):
super(MyPanel, self).__init__()
# do something
要明確指名呼叫super class的__init__()即可
我也不知道這樣的做法是不是正統的方式
還請各為先進不吝指教
==============================================
我是python教的新教徒XD
※ 引述《dokinkon (doki)》之銘言:
: 我是一個python新手,如果問了笨問題還請板上先進多包容
: 最近在學習PyGtk + PyCairo想提高開發GTK+的速度
: 由於某一個widget必須能後畫出一些特別圖案
: 因此我照著PyCairo的教學網頁上寫了一個class 繼承自 pygtk的 gtk.DrawingArea如下
: class MyPanel(gtk.DrawingArea):
: 問題來了,當我在這個class加入__init__(self)這個函式時
: pygtk就會跟我抱怨:
: GtkWarning: gtk_widget_show: assertion 'GTK_IS_WIDGET(widget)' failed
: widget.show()
: 但是沒有__init__時,一切又正常
: 想請教一下是我有什麼環節疏忽了嗎?
: 感謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.128.139.157
推
10/28 13:25, , 1F
10/28 13:25, 1F
→
10/28 13:44, , 2F
10/28 13:44, 2F
→
10/28 13:44, , 3F
10/28 13:44, 3F
→
10/28 13:45, , 4F
10/28 13:45, 4F
→
10/28 14:11, , 5F
10/28 14:11, 5F
討論串 (同標題文章)
完整討論串 (本文為第 2 之 2 篇):
Python 近期熱門文章
PTT數位生活區 即時熱門文章