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()

如果这不是一个选项,请传递 aGError **而不是 none 以获取有关该问题的更多信息(可能在您的*.glade文件中或缺少权限)

于 2013-10-10T21:41:54.273 回答