小编Paw*_*eX3的帖子

GTK+ 3 本机文件选择器 - 允许的文件类型和默认文件名

我正在使用 GTK+ 创建 C++ 程序。为了选择文件,我使用本机文件选择器,因为 gtk 文件选择器存在内存泄漏。

这是我的问题:如何为 GTK+ 中的本机文件选择器设置默认文件名(保存时)以及如何为其设置文件过滤器 - 以便能够仅打开或保存特定的文件扩展名?

我的程序在 Win32 上运行。示例代码:

static void cb_SaveFileAs(GtkWidget *caller)
{
    GtkWindow *parent_window = GTK_WINDOW(caller);
    GtkFileChooserNative *native;
    GtkFileChooserAction action = GTK_FILE_CHOOSER_ACTION_SAVE;
    gint res;

    native = gtk_file_chooser_native_new("Save File",
                                         parent_window,
                                         action,
                                         "_Save",
                                         "_Cancel");

    res = gtk_native_dialog_run(GTK_NATIVE_DIALOG(native));
    if (res == GTK_RESPONSE_ACCEPT)
    {
        char *filename;
        GtkFileChooser *chooser = GTK_FILE_CHOOSER(native);
        filename = gtk_file_chooser_get_filename(chooser);

        // save the file 
        save_to_file(filename);

        g_free(filename);
    }

    g_object_unref(native);
}
Run Code Online (Sandbox Code Playgroud)

c++ gtk filechooser gtk3

6
推荐指数
1
解决办法
3501
查看次数

标签 统计

c++ ×1

filechooser ×1

gtk ×1

gtk3 ×1