【问题标题】:FileChooserButton GtkFileChooserButton Gtk
【发布时间】:2016-06-21 19:58:54
【问题描述】:

谁能告诉我我必须使用什么类型的信号来获取FileChooserDialog 中由FileChooserButton 提出的实际文件来获取文件路径?我同时使用了file_setfile_activated 信号,但什么都没发生。

我使用了 Vala 语言文档中的一个示例。而且我不确定该对话框中是否应该有 Open\Cancel 按钮(请参见下面的屏幕截图)?

这是我用过的代码:

Gtk.FileChooserButton file_chooser = new Gtk.FileChooserButton(
        "Select a file",
        Gtk.FileChooserAction.OPEN);
file_chooser.set_show_hidden(true);
file_chooser.set_local_only(false);
file_chooser.set_current_folder("/home");   

Gtk.FileFilter filter = new Gtk.FileFilter();
filter.add_mime_type("application/x-shellscript");

file_chooser.set_filter(filter);
file_chooser.file_set.connect(() => {
    string uri = file_chooser.get_uri();
    stdout.printf("Uri: %s", uri);
});

Screenshot

提前致谢!

【问题讨论】:

  • 我认为您的 printf 中缺少“\n”
  • file-set 用于当用户单击打开以选择文件时,从而更改 GtkFileChooserButton 所代表的文件。 file-activated 用于当用户双击 GtkFileChooserWidget 中的文件时;我假设 GtkFileChooserDialog 和 GtkFileChooserButton 都是单击打开。 I'm guessing you want selection-changed? 也就是说,假设我正确阅读了您的问题,并且您希望在单击列表中的项目时收到通知。我有吗?

标签: gtk gtk3 vala filechooser


【解决方案1】:

解决了!问题在于缺少按钮Ok\Cancel,我相信这只发生在 Elementary OS 中。

命令: gsettings set org.gnome.settings-daemon.plugins.xsettings overrides "{'Gtk/DialogsUseHeader':<0>}" 做得很好! 感谢您的回复。

【讨论】:

  • 向 Elementary 作者提交错误?假设您使用的是最新版本的一切......
  • @andlabs 是的,我提交了一个错误。我每天都会更新它
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-12
相关资源
最近更新 更多