Torsten の答えは正しいですが、少し不完全なので、 http: //xkcd.com/979/の精神に則って、多くの試行錯誤の末に最近落ち着いた手順を次に示します。
Glade インターフェイス デザイナーで yada.glade を開きます。edit->project に移動し、プロジェクト タイプを GtkBuilder に変更し、最新バージョン (この記事の執筆時点では 2.24) をターゲットにしていることを確認します。ファイルが GtkBuilder 形式で保存されていることを確認してファイルを保存し、名前を yada.glade から yada.ui に変更します。
yada.py を開き、次のコードを変更します。
gladefile = relativize_filename(os.path.join("glade", "yada.glade"))
self.wTree = gtk.glade.XML(gladefile, self.windowname)
に:
uifile = relativize_filename(os.path.join("glade", "yada.ui"))
self.wTree = gtk.Builder()
self.wTree.add_from_file(uifile)
同様に のすべてのインスタンスをself.wTree.get_widget(...)
toに変更しますself.wTree.get_object(...)
self.wTree.signal_autoconnect(dic)
に変更self.wTree.connect_signals(dic)
コードがインターフェイス デザイナーでウィジェットに割り当てられた名前に依存している場合は、 に変更widget.get_name()
しgtk.Buildable.get_name(widget)
ます。 widget.get_name()
ウィジェットタイプを返すだけになりました。widget.set_name('my_widget')
編集: に変更する必要もありますgtk.Buildable.set_name(widget, 'my_widget')
。
消去import gtk.glade
yada.ui xml ファイルで未使用のシグナルが多数定義されていることがわかりました。xml ファイルを開いて手動で削除し、警告が表示されないようにする必要がありました。