Gtk小部件一次接收和显示一个图像

Gtk小部件一次接收和显示一个图像,gtk,vala,Gtk,Vala,如何创建应用程序的简单vala Gtk代码以打开文件夹的图像并一次显示一个 我必须创建一个Vala应用程序来打开一个图像文件夹并一次显示一个图像 我有一个Gtk.Stack,只显示为Gtk.Filechooser对话框接收的一个图像,但我不能通过Gtk.Filechooser.Dialog接收更多元素并显示它们 谢谢有两种解决方案: 您想从同一文件夹中选择多个文件:然后只需执行chooser.select\u multiple=true您将通过chooser.get\u URIs() 您只需选择

如何创建应用程序的简单vala Gtk代码以打开文件夹的图像并一次显示一个

我必须创建一个Vala应用程序来打开一个图像文件夹并一次显示一个图像

我有一个Gtk.Stack,只显示为Gtk.Filechooser对话框接收的一个图像,但我不能通过Gtk.Filechooser.Dialog接收更多元素并显示它们

谢谢

有两种解决方案:

  • 您想从同一文件夹中选择多个文件:然后只需执行
    chooser.select\u multiple=true
    您将通过
    chooser.get\u URIs()

  • 您只需选择文件夹:然后使用适当的操作(
    Gtk.FileChooserAction.select\u folder
    )创建文件选择器对话框:

    当您获得正确的文件夹时:

    if (chooser.run () == Gtk.ResponseType.ACCEPT) {
        var folder = File.new_from_uri (chooser.get_uri ());
        if (folder.query_exists() && folder.query_file_type (0) == FileType.DIRECTORY) {
        // It's a directory and exists, so enumerate the children and do you stuff   
        }
    }
    chooser.close ();
    

  • 你能把你的问题说清楚一点吗?我不太明白你的问题。对不起,我想制作一个应用程序,打开一个图像文件夹,一次显示一个图像。你可以选择文件夹本身,而不是文件。
    if (chooser.run () == Gtk.ResponseType.ACCEPT) {
        var folder = File.new_from_uri (chooser.get_uri ());
        if (folder.query_exists() && folder.query_file_type (0) == FileType.DIRECTORY) {
        // It's a directory and exists, so enumerate the children and do you stuff   
        }
    }
    chooser.close ();