Glade treeview liststore data not visible, can't imagine why
Solution 1
To add a cell renderer to your tree view in Glade, right click on the tree view and select "Edit". This brings up the tree view editor. If you click on the "Hierarchy" tab then you can add or remove columns. Add a column and then right click on it for a menu of cell renderers that you can add. This should do the trick.
Solution 2
Just to add to what ptomato said, thought I'd throw in the xml for what I have :
<object class="GtkTreeView" id="portfolio_treeview">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="model">portfolio_liststore</property>
<property name="search_column">0</property>
<child>
<object class="GtkTreeViewColumn" id="treeviewcolumn4">
<property name="title">ID</property>
<property name="clickable">True</property>
<property name="sort_indicator">True</property>
<property name="sort_column_id">0</property>
<child>
<object class="GtkCellRendererText" id="cellrenderertext4"/>
<attributes>
<attribute name="text">0</attribute>
</attributes>
</child>
</object>
</child>
</object>
Solution 3
I figured it out... to add "'text' attribute" using glade so you can view your data located in the liststore....
1) Right click your treeview and select "Edit"
2) Click on "Hierarchy" tab
3) Right Click the Column you added and select "Add child Text"
4) On the right side of the window beside "Text:" change unset to the liststore/column text type.
stu
I love stackoverflow. It undoes years of work by google to automate the process of finding information and replacing it with a human effort. I call this progress.
Updated on June 05, 2022Comments
-
stu almost 2 years
I've got 99% 44/100 of everything working. I have a glade file, I use gtkbuilder to render it and voila it comes up. Everything except the data in my treeview liststore. I notice by default the tree view is not visible, and setting that to true makes a box appear in the tree view area, but I can't get any of my liststore items to display in the treeview. I have some default data in the list store defined in glade, and I programmatically add some too, but nothing ever displays. Is there some visible on/off option I'm missing?
-
stu over 13 yearsGood lord it really doesn't have to be this complex. I guess I made the poor assumption that the definition of the tree would be defined by the model. I didn't realize you had to define the model AND specify the columns in the tree control as well. Gargh. Thanks muchly. I still don't get text yet but at least I get the column header and can add rows.
-
stu over 13 yearsGot it working, just had to specify the text of the cell renderer to refer to my liststore column data.
-
stu over 13 yearsIt just seems wrong that in javascript you can var n = document.createElement('option'); n.text = sel.text; n.value = sel.value; document.getElementById("listbox").options.add(n); and it works.
-
rabada123 about 11 yearsIt's because the view and model are separate in GTK+. You could have multiple views on the same data, and show a different set of columns in each.
-
ThorSummoner about 9 yearsI haven't yet figured out how/where to set the 'text' attribute; Though editing the file to add the attribute works!
-
AbstractDissonance over 6 yearsThe glade editor does not seem to be adding the attributes automatically which can lead to the original problem. Setting the text field for a cellrenderer to the index of the store's column that one wants to use solves the problem. Else the renderer is not looking up the values.
-
Scarlet over 5 yearsIn current versions of Glade, "Edit" is now on toolbar instead of right-click menu.