У меня есть такая строка -> [name], [mp3names], [suggest_names] Предлагаемый_имя список для combobox, и каждая строка имеет разные предложенные имена. Поэтому для них мне нужна сводка. но я не знаю, как это сделать.python-gtk cellrenderer combobox для каждой строки
изменить: Сначала я прочитал свой файл csv, затем добавлю все их в список, а затем обрабатываю все столбцы. У меня есть предложения для каждой строки, но я не знаю, как добавить эти предложения. Теперь я могу только один раз определить предложения и использовать для всех строк, но это неверно, мне нужны разные предложения для каждой строки.
for i in range(self.row_len):
outliers_list.append([str(self.columns[1][i])]+[str(self.columns[self.col_count-2][i])]+[str(self.columns[self.col_count-1][i])]+[corrected]+[audio_name])
self.col_len = len(outliers_list[0]);
#dynamically liststore column adding
self.liststore = Gtk.ListStore(*([str] * 5))
# You need to use self.fillStore() instead.
for item in outliers_list:
self.liststore.append(item)
liststore_suggestions = Gtk.ListStore(str)
suggestions = correct("axse")
for item in suggestions:
liststore_suggestions.append([item])
renderer_text = Gtk.CellRendererText()
column = Gtk.TreeViewColumn("Name", renderer_text, text=0)
treeview.append_column(column)
renderer_text = Gtk.CellRendererText()
column = Gtk.TreeViewColumn("mp3Names", renderer_text, text=1)
treeview.append_column(column)
renderer_combo = Gtk.CellRendererCombo()
renderer_combo.set_property("editable", True)
renderer_combo.set_property("model",liststore_suggestions)
renderer_combo.set_property("text-column", 0)
renderer_combo.set_property("has-entry", True)
renderer_combo.connect("edited", self.on_combo_changed)
column_combo = Gtk.TreeViewColumn("Suggest", renderer_combo, text=2)
treeview.append_column(column_combo)
здесь предложения = правильно ("axse") будет меняться для каждой строки, я только определил его для показа вам, правильный один ISE:
suggestions = correct(str(self.columns[1][i]))
наконец, то, что я хочу меняет этот код, потому что он хранит только один список и использует его для каждой строки.
renderer_combo.set_property("model",liststore_suggestions)
Но я хочу что-то подобное. Загрузка динамически списков combobox для каждой строки.
renderer_combo.set_property("model",liststore_suggestions[i])
Можете ли вы опубликовать код, который создает списки магазинов? И, возможно, скриншот того, что вы хотите? Я не уверен, в чем проблема ... – andlabs
@andlabs Привет, я добавил дополнительную информацию :) –