Вот пример программы, которая делает то, что вы хотите:
from gi.repository import Gtk
objectsList = Gtk.TreeStore(str, bool)
for i in range(2):
parent = objectsList.append(None, ['Parent {}'.format(i), False])
for j in range(2):
objectsList.append(parent, ['Child {}'.format(j), True])
gcombo = Gtk.ComboBox.new_with_model(objectsList)
renderer_text = Gtk.CellRendererText()
gcombo.pack_start(renderer_text, True)
gcombo.add_attribute(renderer_text, "text", 0)
gcombo.add_attribute(renderer_text, 'sensitive', 1)
gcombo.show()
win = Gtk.Window()
win.add(gcombo)
win.show_all()
win.connect('destroy', Gtk.main_quit)
Gtk.main()
Вы устанавливаете для свойства sensitive
средства визуализации значение False
в родительских строках и True
в дочерних строках.Таким образом, родительские строки не будут доступны для выбора.