4

私のコードには、次のような行があります。

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);

手動で行うのではなく、Gladeでこれらのフィルターを設定する方法はありますか?

4

2 に答える 2

3

今は可能です。コードスニペットはおそらく次のようになります。

    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)

ここに画像の説明を入力してください

ここに画像の説明を入力してください

于 2015-02-13T16:04:42.177 に答える
2

いいえ。glade(バージョン3.6以降)でファイルフィルターオブジェクトを作成してダイアログに追加することはできますが、ファイルフィルターの名前やパターンを実際に設定することはできないため、かなり役に立ちません。

于 2009-11-10T10:15:51.953 に答える