前言
- gtkmm4 弃用了Gtk::FileChooserDialog 而引进了Gtk::FileDialog
- 有几点需求和问题:
- 我需要选择文件夹的对话框能连文件一起显示
- gtkmm4 依然能使用 Gtk::FileChooserNative
- 用本土的文件浏览对话框 还是 GTK 的
- gtkmm3 使用Gtk::FileChooserDialog 能满足第一个需求吗
使用 Gtk::FileChooserNative
auto dialog = Gtk::FileChooserNative::create("Please choose a folder",
*this,
Gtk::FileChooser::Action::SELECT_FOLDER,
"Choose",
"Cancel");
auto filters = Gio::ListStore<Gtk::FileFilter>::create();
auto filter_text = Gtk::FileFilter::create();
filter_text->set_name("Any files");
filter_text->add_pattern("*");
filters->append(filter_text);
dialog->add_filter(filter_text);
dialog->show();
- 意思是调用原生的对话框
>.我是在winodws上开发Gtk应用,所以它提供windows风格的文件对话框
- 但是如果行为是
Gtk::FileChooser::Action::SELECT_FOLDER 时, 上面的过滤器就不起效果, 对话框中也不会显示过滤下拉菜单选项, 也只显示文件夹
Gtk::FileDialog