2

テキストファイルからツリービューを保存してロードしようとしています

スクロールウィンドウコンテナを使用したレビュー:

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には情報が入力された3つの行が含まれています。ツリービューの「リクエストサイズ」は3行であるため、現時点ではスクロールバーは表示されていません。

1. RED       100.00
-------------------
2. YELLOW    101.00
-------------------
3. BLUE      102.00
-------------------

テキストファイルとの間でツリービューを更新、保存、およびロードするコードを記述します([ファイルからロード]ボタンと[GTK_FILE_CHOOSER]を使用します)

より多くの項目(4、5、...)が含まれているこのテキストファイルからインポートすると、リストはすべての新しい行で更新されますが、次の警告が表示されます。

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の[キャンセル]ボタンからアクションをキャンセルすることを選択した場合に発生します。

ありがとう

4

0 に答える 0