使用python ctypes调用gtk_builder

时间:2013-10-10 15:38:38

标签: python gtk ctypes

我的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,例如存在错误。我很困惑..

1 个答案:

答案 0 :(得分: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 **而不是无,以获取有关该问题的更多信息(可能在您的*.glade文件中或缺少权限)