Как добавить кнопки действий в FileChooserDialog?

Когда я пытаюсь показать диалог выбора файла, в нем отсутствуют кнопки действий:

let dialog = FileChooserDialog::new(Some("Open File"), Some(&window), FileChooserAction::Open);
dialog.run();

недостающие кнопки действий

Я нашел другой путь из другого проекта:

let dialog = FileChooserDialog::new_with_buttons::<ApplicationWindow>(
    Some("Open File"),
    Some(&window),
    FileChooserAction::Open,
    &[
        ("_Cancel", ResponseType::Cancel),
        ("_Open", ResponseType::Accept),
    ],
);

Сообщение об ошибке:

no function or associated item named `new_with_buttons` found for type `gtk::FileChooserDialog` in the current scope

1 ответ

Решение

Я думаю, вам нужно использовать add_button чтобы добавить кнопки после создания диалога и перед его отображением:

let dialog = FileChooserDialog::new(Some("Open File"), Some(&window), FileChooserAction::Open);
dialog.add_button("_Cancel", ResponseType::Cancel);
dialog.add_button("_Open", ResponseType::Accept);
dialog.run();
Другие вопросы по тегам