Frage

In meinem Code, ich habe Zeilen wie diese:

Builder builder = new Builder();
builder.AddFromFile(gladefile);
FileChooserDialog dialog =
    (FileChooserDialog) builder.GetObject("dialog");

FileFilter[] filters = new FileFilter[2];
filters[0] = new FileFilter();
filters[0].Name = "Some filter";
filters[0].AddPattern("*.someextension");
filters[1] = new FileFilter();
filters[1].Name = "All files";
filters[1].AddPattern("*");

foreach (FileFilter filter in filters)
    dialog.AddFilter(filter);
dialog.Filter = filters[0];
dialog.SetFilename(defaultFile);

Gibt es eine Möglichkeit, diese Filter in Glade einzurichten, anstatt es manuell zu tun?

War es hilfreich?

Lösung

Nein. Sie können in Glade (Version 3.6 und höher) ein Dateifilter-Objekt erstellen und es in den Dialog hinzufügen, aber da man nicht wirklich den Namen oder das Muster des Dateifilter setzen kann, es ist ziemlich nutzlos.

Andere Tipps

Es ist nun möglich. Das Code-Snippet wahrscheinlich so etwas wie folgt aussehen sollte:

    builder = Gtk.Builder()
    builder.add_objects_from_file("***name of glade file****.glade",
        ("filechooserdialog1", "filefilter1"))
    dialog = self.builder.get_object("filechooserdialog1")
    filefilter = self.builder.get_object("filefilter1")
    dialog.add_filter(filefilter)

eingeben Bild Beschreibung hier

eingeben Bild Beschreibung hier

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top