C++ gtkmm:FileChooserDialog 不适用于任何驱动器

C++ gtkmm: FileChooserDialog not working with any drives

如何使用 Gtk::FileChooserDialog 浏览本地或特别是网络驱动器?我看到了所有驱动器,包括网络驱动器(我想浏览这些),但是当我点击它时,没有任何反应,或者我被重定向到不同的文件夹。

Gtk::FileChooserDialog dialog("Please choose a folder",Gtk::FILE_CHOOSER_ACTION_SELECT_FOLDER);
dialog.set_transient_for(*this);
int result = dialog.run();
//go on with other code

仅浏览文档、下载等快捷方式有效。如果重要的话,我将 Windows 7 与 gtkmm 3.0 一起使用。当然可以从资源管理器或 cmd 访问所有驱动器。

编辑:可以通过在 Windows 下编译此代码来重现该行为:https://developer.gnome.org/gtkmm-tutorial/stable/sec-dialogs-filechooserdialog.html.en 并尝试浏览驱动器 C,例如。

任何人都可以重现相同的行为吗? 谢谢

找到原因。

这实际上是一个错误 (https://gitlab.gnome.org/GNOME/gtk/issues/170) reported few days before. The solution is to update your glib2 with the fix (https://github.com/Alexpux/MINGW-packages/blob/master/mingw-w64-glib2/W32-gstdio-Dont-try-to-get-reparse-tag-uncondition.patch)。或者 wait/upgrade 到 glib 2.56.2.

应用修复后,一切正常。