GtkFileFilter

说明 [src]

final class Gtk.FileFilter : Gtk.Filter
  implements Gtk.Buildable {
  /* No available fields */
}

按名称或 MIME 类型过滤文件。

GtkFileFilter 可用于限制文件选择器中显示的文件。可以基于名称(使用 gtk_file_filter_add_pattern()gtk_file_filter_add_suffix())或基于 MIME 类型(使用 gtk_file_filter_add_mime_type())过滤文件。

按 MIME 类型过滤时可以处理别名和 MIME 类型的子类;例如,对 text/plain 的过滤器也匹配 MIME 类型为 application/rtf 的文件,因为 application/rtf 是 text/plain 的子类。请注意,GtkFileFilter 允许对 MIME 类型的子类型使用通配符,例如,您可以过滤 image/*。

通常,通过将文件过滤器添加到文件选择器(参见 gtk_file_dialog_set_filters())来使用,但也可以在任何包含 GFileInfo 对象的 GtkFilterListModel 上手动使用文件过滤器。

GtkFileFilter 作为 GtkBuildable

GtkFileFilterGtkBuildable 接口的实现支持使用 <mime-types> 以及 <patterns><suffixes> 元素添加规则,并列出内部的规则。指定 <mime-type><pattern><suffix> 的效果等同于调用 gtk_file_filter_add_mime_type()gtk_file_filter_add_pattern()gtk_file_filter_add_suffix()

指定 GtkFileFilter 规则的 UI 定义片段示例

<object class="GtkFileFilter">
  <property name="name" translatable="yes">Text and Images</property>
  <mime-types>
    <mime-type>text/plain</mime-type>
    <mime-type>image/ *</mime-type>
  </mime-types>
  <patterns>
    <pattern>*.txt</pattern>
  </patterns>
  <suffixes>
    <suffix>png</suffix>
  </suffixes>
</object>

层次结构

hierarchy this GtkFileFilter implements_0 GtkBuildable this--implements_0 ancestor_0 GtkFilter ancestor_0--this ancestor_1 GObject ancestor_1--ancestor_0

实现

构造函数

gtk_file_filter_new

创建 GtkFileFilter,不添加任何规则。

gtk_file_filter_new_from_gvariant

GVariant 反序列化文件过滤器。

实例方法

gtk_file_filter_add_mime_type

添加规则,允许给定的 MIME 类型。

gtk_file_filter_add_pattern

添加允许 shell 样式 glob 匹配的规则。

gtk_file_filter_add_pixbuf_formats

添加允许 GdkPixbuf 支持的格式的图像文件的规则。

gtk_file_filter_add_suffix

向过滤器添加后缀匹配规则。

自:4.4

gtk_file_filter_get_attributes

获取传递给此过滤器的 GFileInfo 需填充的属性。

gtk_file_filter_get_name

获取过滤器的可读名称。

gtk_file_filter_set_name

设置过滤器的可读名称。

gtk_file_filter_to_gvariant

将文件过滤器序列化为 a{sv} 变量。

GtkFilter
gtk_filter_changed

通知过滤器的所有用户过滤器已更改。

gtk_filter_get_strictness

获取过滤器的已知严格性。

gtk_filter_match

检查给定的 item 是否与过滤器匹配。

GObject (43) 继承的方法

请参阅GObject以获得完整的方法列表。

GtkBuildable (1) 继承的方法
gtk_buildable_get_buildable_id

获取 buildable 对象的 ID

属性

Gtk.FileFilter:mime-types

此过滤器匹配的 MIME 类型。

since: 4.10

Gtk.FileFilter:name

过滤器的可读名称。

Gtk.FileFilter:patterns

此过滤器匹配的模式。

since: 4.10

Gtk.FileFilter:suffixes

此过滤器匹配的后缀。

since: 4.10

信号

GtkFilter (1) 继承的信号
GtkFilter::changed

每当过滤器更改时都会发出此信号。

GObject (1) 继承的信号
GObject::notify

当对象的某个属性通过 g_object_set_property()、g_object_set() 等方式设置其值时,会在该对象上发出 notify 信号。