在combobox pygtk glade3中选择一个项目

时间:2011-09-10 12:22:39

标签: python combobox gtk pygtk glade

使用pygtk 2.24和glade 3我遇到组合框问题。当我点击其中的项目时,我收到以下错误消息

interface.py:94: Warning: unable to set property `text' of type `gchararray' from 
value of type `glong'
gtk.main()

我的组合框代码在这里

#get the combo box out of the builder and add items to it
self.cbmoRepresentation = builder.get_object("cmbo_representation")
self.iface_list_store = gtk.ListStore(gobject.TYPE_STRING)
self.iface_list_store.append(["Row-Column"])
self.iface_list_store.append(["Row-Number"])
self.iface_list_store.append(["Number-Column"])
self.cbmoRepresentation.set_model(self.iface_list_store)
cell = gtk.CellRendererText()
self.cbmoRepresentation.pack_start(cell, True)
self.cbmoRepresentation.add_attribute(cell, "text", 0)
self.cbmoRepresentation.set_active(-1)

任何帮助都会非常感激:)。

1 个答案:

答案 0 :(得分:0)

我有这个有效(但我不使用林间空地):

liststore = gtk.ListStore(gobject.TYPE_STRING)
combobox = gtk.ComboBox(liststore)
cell = gtk.CellRendererText()
combobox.pack_start(cell, True)
combobox.add_attribute(cell, 'text', 0)

所以我怀疑你的self.cbmoRepresentation不是正确的类型。 请尝试:

  self.cbmoRepresentation = builder.get_object("cmbo_representation")
  print type(self.cbmoRepresentation)

检查cbmoRepresentation的类型。