0

私のpythonコードは次のとおりです。

gtk = CDLL('/usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so')
builder = gtk.gtk_builder_new()
print gtk.gtk_builder_add_from_file(builder, './mainui.glade', None)

私はcコードをテストしました、それは動作します。しかし、python ctype では、gtk_builder_add_from_file の結果は常に 0 です。たとえば、エラーがあります。私は非常に混乱しています..

4

1 に答える 1

1

イントロスペクション機能を使用してみませんか? それが存在する理由があります。

from gi.repository import Gtk as gtk

class Foo (object):

    def __init__(self):
        self.builder = gtk.Builder()
        self.builder.add_from_file("someui.glade")
        self.builder.connect_signals(self)

    def run(self, *args):
        self.builder.get_object("mainwindow").show()
        gtk.main()

    def quit(self, *args):
        gtk.main_quit()


Foo().run()

それがオプションでない場合は、GError **none の代わりに a を渡して、問題に関する詳細情報を取得します (*.gladeファイルに含まれているか、パーミッションが不足している可能性があります) 。

于 2013-10-10T21:41:54.273 に答える