2015-11-28 81 views
0

如何創建應用程序的簡單vala Gtk代碼以打開文件夾的圖像並一次顯示一個圖像?Gtk小工具一次接收並顯示一個圖像

我必須創建一個Vala應用程序來打開一個圖像文件夾,並一次顯示一個圖像。

我有一個Gtk.Stack只顯示一個Gtk.FileChooserDialog收到的圖像,但我不能做Gtk.Filechooser.Dialog來接收更多元素並顯示它們。

感謝

+0

難道你讓你的問題更清楚一點?我真的不明白你的問題。 – meskobalazs

+0

對不起,我想創建一個應用程序來打開一個圖像文件夾,並一次顯示一個圖像。 –

+0

您可以選擇文件夾本身,而不是文件。 – meskobalazs

回答

0

有2個解決方案:

  1. 要選擇多個文件形成同一文件夾:那只是做chooser.select_multiple = true;,你會通過chooser.get_uris()

  2. 獲取文件的URI SLIST
  3. 您只需要選擇文件夾:然後用適當的操作創建FileChooserDialog(Gtk.FileChooserAction.SELECT_FOLDER):

    var chooser = new Gtk.FileChooserDialog (
          "Pick the folder to load the images", this, 
          Gtk.FileChooserAction.SELECT_FOLDER, 
          "_Cancel", 
          Gtk.ResponseType.CANCEL, 
          "_Open", 
          Gtk.ResponseType.ACCEPT); 
    

    當你得到正確的文件夾:

    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();