我的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,例如存在错误。我很困惑..
答案 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
文件中或缺少权限)