将Gtk.TreeView转换为文本格式

时间:2016-06-20 19:49:22

标签: treeview gtk vala

我试图将Gtk.TreeView导出为文本格式。这就像是在应用程序上导出到文本函数,该应用程序使用ListStore模型在TreeView中显示数据。

有人可以帮助您获取有关如何有效解析Gtk.TreeView并以简单文本格式表示它的示例代码。

1 个答案:

答案 0 :(得分:1)

首先考虑http://nmp90.com/2016/04/android-adb-server-version-32-doesnt-match-client-genymotion/

public static int main (string[] args) {
    // Create a ListStore:
    Gtk.ListStore list_store = new Gtk.ListStore (2, typeof (string), typeof (int));
    Gtk.TreeIter iter;

    // Insert data: (0: State, 1: Cities)
    list_store.append (out iter);
    list_store.set (iter, 0, "Burgenland", 1, 13);
    list_store.append (out iter);
    list_store.set (iter, 0, "Carinthia", 1, 17);
    list_store.append (out iter);
    list_store.set (iter, 0, "Lower Austria", 1, 75);
    list_store.append (out iter);
    list_store.set (iter, 0, "Upper Austria", 1, 32);
    list_store.append (out iter);
    list_store.set (iter, 0, "Salzburg", 1, 10);
    list_store.append (out iter);
    list_store.set (iter, 0, "Styria", 1, 34);
    list_store.append (out iter);
    list_store.set (iter, 0, "Tyrol", 1, 11);
    list_store.append (out iter);
    list_store.set (iter, 0, "Vorarlberg", 1, 5);
    list_store.append (out iter);
    list_store.set (iter, 0, "Vienna", 1, 1);

    // Output:
    //  ``Entry: Burgenland     13``
    //  ``Entry: Carinthia      17``
    //  ``Entry: Lower Austria  75``
    //  ``Entry: Upper Austria  32``
    //  ``Entry: Salzburg       10``
    //  ``Entry: Styria         34``
    //  ``Entry: Tyrol          11``
    //  ``Entry: Vorarlberg     5``
    //  ``Entry: Vienna         1``
    for (bool next = list_store.get_iter_first (out iter); next; next = list_store.iter_next (ref iter)) {
        Value val1, val2;
        list_store.get_value (iter, 0, out val1);
        list_store.get_value (iter, 1, out val2);
        stdout.printf ("Entry: %s\t%d\n", (string) val1, (int) val2);
    }
    return 0;
}

您还应该阅读this code from valadoc