【发布时间】:2015-04-13 06:16:45
【问题描述】:
我正在使用 Glade 为 gimp 插件构建一个“伪智能”GUI。 GUI 的主要部分有两个框架,并使用“reparent”方法导入内容。主要目标是让第二帧的内容由第一帧中的选择决定。 (最终,目的是将这个 GUI 导入为“笔记本”标签页的内容)
首先,我制作了一个简单的窗口,由一个“RadioButtonBox”和一个“ComboBox”组成,使用以下命令填充:
# create the cell renderer
self.cell = gtk.CellRendererText()
#populate the default choice into the Selection combobox
self.SelectionBox = self.builder.get_object("SelectionBox")
self.SelectionBox.set_model(self.EditCommands)
self.SelectionBox.pack_start(self.cell, True)
self.SelectionBox.add_attribute(self.cell, 'text', 1)
self.SelectionBox.set_active(0)
# End: populate the selection combo box section
这很有效,我可以成功地将简单的 GUI “导入”和“重新设置”为更大、更复杂的 GUI 的第一帧,而不会出现任何问题。然而,随着设计的进展,将第一帧的代码作为主 GUI 的一个组成部分变得更加方便,这就是我的问题开始的地方。
我在大 GUI 的第一帧中复制了简单 GUI 的内容,并从简单 GUI 的“init”函数中复制/粘贴了代码。换句话说,一切都是一样的。
不幸的是,当我运行代码时,出现以下错误:
C:\Documents and Settings\anonymous\Desktop\Glade-tutorial\BatchEditMain\BatchEditLibrary\Tab.py:46: GtkWarning: gtk_entry_set_text: assertion `text != NULL' failed
self.SelectionBox.set_active(0)
有人能解释一下问题是什么吗?
提前致谢
欧文
【问题讨论】:
-
EditCommands是否由该点填充? -
是的,但有一点需要注意:列表的间距似乎是偏移的,因此列表仅在下拉菜单中可见,而不在组合框本身中可见。
标签: python combobox gtk pygtk glade