Guest parcos Postado Junho 26, 2008 Denunciar Share Postado Junho 26, 2008 Não consigo fazer o FileChooserDialog rodar na minha aplicação.#! /usr/bin/env python import gtk, pygtk def clique(botao, caixa): pass def SelecionarArquivo(botao): dialogo = gtk.FileChooserDialog("Selecionar Arquivo", gtk.FILE_CHOOSER_ACTION_OPEN, (gtk.STOCK_CANCEL,gtk.RESPONSE_CANCEL,gtk.STOCK_OPEN,gtk.RESPONSE_OK)) dialogo.run() window = gtk.Window() window.connect("destroy", gtk.main_quit) window.set_title('Titulo') window.set_size_request(250, 50) vbox = gtk.VBox() window.add(vbox) hbox = gtk.HBox() vbox.pack_start(hbox) rotulo = gtk.Label("Rotulo") hbox.pack_start(rotulo) caixa = gtk.Entry() hbox.pack_start(caixa) botao = gtk.Button("Arquivo...") botao.connect("clicked", SelecionarArquivo) hbox.pack_start(botao) botao = gtk.Button("OK") botao.connect("clicked", clique, caixa) vbox.pack_start(botao) window.show_all() gtk.main()RetornaTraceback (most recent call last): File "05.py", line 9, in SelecionarArquivo dialogo = gtk.FileChooserDialog("Selecionar Arquivo", gtk.FILE_CHOOSER_ACTION_OPEN, (gtk.STOCK_CANCEL,gtk.RESPONSE_CANCEL,gtk.STOCK_OPEN,gtk.RESPONSE_OK))TypeError: parent must be a GtkWindow or None Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest parcos Postado Junho 26, 2008 Denunciar Share Postado Junho 26, 2008 Falta um parâmetro na função gtk.FileChooserDialog("Selecionar Arquivo", None, gtk.FILE_CHOOSER_ACTION_OPEN, (gtk.STOCK_CANCEL,gtk.RESPONSE_CANCEL,gtk.STOCK_OPEN,gtk.RESPONSE_OK)). Faltava o None. Alguém sabe que parametro é esse? Lá no tutorial não explica... Outra coisa. Quero retornar o nome do arquivo que o cara abriu para uma função. Eu chamo a função assim:botao = gtk.Button("Arquivo...") botao.connect("clicked", SelecionarArquivo) hbox.pack_start(botao) A função agora está assim: def SelecionarArquivo(botao): dialogo = gtk.FileChooserDialog("Selecionar Arquivo", None, gtk.FILE_CHOOSER_ACTION_OPEN, (gtk.STOCK_CANCEL,gtk.RESPONSE_CANCEL,gtk.STOCK_OPEN,gtk.RESPONSE_OK)) arquivo = dialogo.run() if arquivo == gtk.RESPONSE_OK: return dialogo.get_filename() elif arquivo == gtk.RESPONSE_CANCEL: return False dialogo.destroy()Como eu faria para "mandar" o valor de dialogo.get_filename() para outra função? Essa chamada não poderia ser feita na função SelecionarArquivo... Eu não entendo como fazer isso. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest eferro Postado Setembro 30, 2008 Denunciar Share Postado Setembro 30, 2008 O parâmetro None é a janela mãe. É aconselhável que voce relacione com a janela chamadora, assim se a mãe morre leva a filha junta.Para manda o filename com parâmetro pode ser assim:if result == gtk.RESPONSE_OK:self.outraFuncao(janelaSalvar.get_filename())janelaSalvar.destroy() elif result == gtk.RESPONSE_CANCEL: janelaSalvar.destroy() Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Guest parcos
Não consigo fazer o FileChooserDialog rodar na minha aplicação.
Retorna
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.