seja bem vindo ao forum eof, caso nao seja cadastrado se cadastre para poder visualizar todo o conteudo ^^

Participe do fórum, é rápido e fácil

seja bem vindo ao forum eof, caso nao seja cadastrado se cadastre para poder visualizar todo o conteudo ^^
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Você não está conectado. Conecte-se ou registre-se

[Resolvido] (GTK+) Como faço para criar um FileChooserDialog permitir ao usuário selecionar um diretório/pasta

2 participantes

Ir para baixo  Mensagem [Página 1 de 1]

abraaoallysson

abraaoallysson
novato
novato

Talvez possa adicionar um filtro de diretório para conseguir isso? Como posso fazer isso para que o usuário só pode selecionar uma pasta?


deste já agradeço

mmxm

avatar
avançado
avançado

Fiz um exemplo em perl:
Código:
#!/usr/bin/perl -w

use strict;
use Gtk2 qw/-init/;

my $file_chooser =  Gtk2::FileChooserDialog->new (
   'EOF exemplo...',
   undef,
   'select-folder', # tipo de acao (selecionar diretorio)
   'gtk-cancel' => 'cancel',
   'gtk-ok' => 'ok'
);

my $resp = $file_chooser->run;

if($resp eq 'ok'){
   print "Diretorio escolhido: ".$file_chooser->get_filename."\n\n";
} else {
   print "Nenhum diretorio escolhido...\n\n";
}

$file_chooser->destroy;

ref:

[Tens de ter uma conta e sessão iniciada para poderes visualizar este link]

Obs, nao sei em qual linguagem vc ta fazendo, mas se tiver problema fala ai
eu vejo se posto um exemplo na linguagem que vc ta codando.

abraaoallysson

abraaoallysson
novato
novato

mmxm escreveu:Fiz um exemplo em perl:
Código:
#!/usr/bin/perl -w

use strict;
use Gtk2 qw/-init/;

my $file_chooser =  Gtk2::FileChooserDialog->new (
 'EOF exemplo...',
 undef,
 'select-folder', # tipo de acao (selecionar diretorio)
 'gtk-cancel' => 'cancel',
 'gtk-ok' => 'ok'
);

my $resp = $file_chooser->run;

if($resp eq 'ok'){
 print "Diretorio escolhido: ".$file_chooser->get_filename."\n\n";
} else {
 print "Nenhum diretorio escolhido...\n\n";
}

$file_chooser->destroy;

ref:

[Tens de ter uma conta e sessão iniciada para poderes visualizar este link]

Obs, nao sei em qual linguagem vc ta fazendo, mas se tiver problema fala ai
eu vejo se posto um exemplo na linguagem que vc ta codando.

Estou usando C/C++ eu não entendi o que você fez acho que isso é PHP, né?
voce teria um exemplo em C ou C++?

mmxm

avatar
avançado
avançado

Fiz em perl Very Happy, código de exemplo em C:

Código:

#include <gtk/gtk.h>
#include <stdio.h>

int main(int argc, char **argv){
   char *dir_name;
   GtkWidget *dialog;

   gtk_init (&argc, &argv);

   dialog = gtk_file_chooser_dialog_new ("Selecionar diretorio",
         NULL,
         GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER, // seleciona diretorio =D
         GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
         GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT,
         NULL);

   if(gtk_dialog_run (GTK_DIALOG (dialog)) == GTK_RESPONSE_ACCEPT){
      dir_name = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dialog));
      printf("Diretorio escolhido: %s\n\n",dir_name);
      g_free(dir_name);
   } else {
      printf("Nenhum diretorio escolhido...\n\n");
   }

   gtk_widget_destroy (dialog);


   return 0;

}

Compilando:
gcc test.c -o test $(pkg-config --cflags --libs gtk+-2.0) -Wall -Wextra

Compilou sem erro aqui ...

referencias:
[Tens de ter uma conta e sessão iniciada para poderes visualizar este link]



Última edição por mmxm em Seg Nov 24, 2014 2:25 pm, editado 1 vez(es)

abraaoallysson

abraaoallysson
novato
novato

OBRIGADOOOOOOOOOO mmxm
=D 0/
como marco como resolvido?

mmxm

avatar
avançado
avançado

abraaoallysson escreveu:OBRIGADOOOOOOOOOO mmxm
=D 0/
como marco como resolvido?

Coloquei como resolvido, só a staff pode editar o titulo do tópico Smile

Conteúdo patrocinado



Ir para o topo  Mensagem [Página 1 de 1]

Permissões neste sub-fórum
Não podes responder a tópicos