我试图从文本文件中保存和加载树视图
带有滚动窗口容器的 reeview:
GtkWidget *scrolledwindow = gtk_scrolled_window_new(NULL, NULL);
gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(scrolledwindow), GTK_SHADOW_IN);
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
GtkListStore *store = gtk_list_store_new(2, G_TYPE_STRING, G_TYPE_STRING);
GtkWidget *view = gtk_tree_view_new_with_model(GTK_TREE_MODEL(store));
gtk_tree_view_set_rules_hint (GTK_TREE_VIEW(view), TRUE);
gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(view), FALSE);
selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(view));
gtk_tree_selection_set_mode(selection, GTK_SELECTION_SINGLE);
gtk_container_add(GTK_CONTAINER(scrolledwindow), view);
设想:
在第一种情况下,treeview 包含三行,其中输入了信息。此时滚动条不可见,因为树视图“请求大小”是三行:
1. RED 100.00
-------------------
2. YELLOW 101.00
-------------------
3. BLUE 102.00
-------------------
我编写了一个代码来更新、保存和加载树视图从/到文本文件(我使用“从文件加载”按钮和“GTK_FILE_CHOOSER”)
从包含更多项目(四、五、...)的此文本文件导入时,列表会更新为所有新行,但会收到以下警告:
GtkScrolledWindow 0x922f1e0 is mapped but visible child GtkScrollbar 0x93812b0 is not mapped
1. RED 100.00
-------------------
2. YELLOW 101.00
-------------------
3. BLUE 102.00
-------------------
4. GREEN 103.00
-------------------
当我将列表导出到文本文件时,会显示相同的消息。
此消息在文件选择器对话框被破坏后显示。
当滚动条可见时也会发生这种情况,文件选择器对话框启动,我改变主意并选择从 GTK_FILE_CHOOSER 的“取消”按钮取消操作。
谢谢