0
您好,调用一些这些对象返回它们未初始化的传递有内容时,信号(注意在应用程序正确showen的值)PyGTK的创建在pygtk的应用程序的多个对象中的对象的未初始化
sections = config.sections()
for section in sections:
box= gtk.Table (3,len(config.options(section)),False)
box.set_col_spacings(2)
box.set_row_spacings(2)
box.show()
label = gtk.Label(section)
label.show()
notebook.append_page (box,label)
for i,option in enumerate(config.options(section)):
optionlabel = gtk.Label(option)
optionvalue = gtk.Entry()
optionvalue.set_text(config.get(section,option))
--> optionvalue.connect("activate", enter_callback,optionvalue, label, optionlabel)
box.attach(optionlabel,0,1,i,i+1,xoptions=gtk.SHRINK|gtk.FILL,yoptions=gtk.SHRINK)
box.attach(optionvalue,1,2,i,i+1,yoptions=gtk.SHRINK)
box.show_all()
起初我以为变量不在范围,但他们(我测试过几个对象,发现他们工作的最后3行
Linuxcnc ini.py:70: GtkWarning: IA__gtk_entry_get_text: assertion "GTK_IS_ENTRY (entry) failed
print (widget.get_text())
None
<gtk.Label object at 0x9f44a54 (uninitialized at 0x0)>
<gtk.Label object at 0x9f44c0c (uninitialized at 0x0)>
0
<gtk.Label object at 0x9f4c8ec (GtkLabel at 0xa1a3350)>
<gtk.Label object at 0x9f4dc0c (GtkLabel at 0xa1a3450)>
代码中没有行号,很难将错误信息与实际程序联系起来(例如第70行是在哪里?)。尝试提供一个工作(最小的例子) – jcoppens
我用箭头标记了70行以查看有问题的指令,仅删除了enter_callback函数以打印参数值 def enter_callback(self,widget,section,optionlabel) : \t#config.set(部,optionlabel,optionvalue) \t save_button_enable(真) \t打印 “项%从截面%S S具有内容:%S \ n” 个%(optionlabel,部分,widget.get_text() ) 输入字段中的值是正确的,但在更改后调用激活时返回(无) –