Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Aide | Shop Recherche
1957 connectés 

  FORUM HardWare.fr
  Programmation
  Python

  Problème avec "GtkFileChooserButton"

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème avec "GtkFileChooserButton"

n°2343837
Babaowhisk​y
Posté le 02-01-2020 à 15:54:53  profilanswer
 

Bonjour,
 
Dans la petite application ou je travaille, j'ai réussi à faire en sorte de choisir un dossier et que celui-ci soit pris en compte via un GtkFileChooserButton. La partie "graphique" de l'application se faisant via Glade.
Le problème est sur le bouton en lui-même, en 1er lieu, j'aimerais qu'il pointe par défaut sur un dossier et en 2nd lieu, j'aimerais qu'après le choix d'un dossier quelconque, le bouton se "mette à jour".
 
1er screenshot pour comprendre, lorsque vais dans les Préférences de l'application, j'ai ceci :  
https://reho.st/thumb/self/94e725a35c007d39fc806c68887aa018518ca302.png
 
Vous pouvez voir en arrière fond mes jeux GoG non installés, je ne peux que les télécharger. Ayant deux jeux déjà installés, je navigue via le bouton vers le dossier en question, comme le montre le screenshot suivant :
https://reho.st/thumb/self/6f4e25eeb05f317f74e8d7b10ae3e3f8f6d97859.png
 
En cliquant sur "Save", la prise en compte à bien eu lieu car si vous regardez mes jeux, vous remarquerez que 2 jeux sont passés de l'état "Download" -> "Play", signe que l'application a bien trouvé les jeux. Par contre, si je retourne dans les préférences, il se trouve que le bouton est de nouveau du "None" :
https://reho.st/thumb/self/dca077bef1f094bfb382d7ce04a6c3f8b60b7a85.png
 
En espérant avoir été clair, je répète ce que je n'arrive pas à finaliser :
1- Avoir un dossier choisi par défaut au 1er lancement des paramètres sur le bouton.
2- Que le dit bouton se "mette à jour" à chaque fois que je choisi un dossier quelconque et que je sauvegarde.
 
Voici la portion de code :

   @Gtk.Template.Callback('on_filechooser_button_file_set')
    def __set_install_path(self, widget) -> None:
        path = self.filechooser_button.get_filename()
        print("The path is :", path)
        self.filechooser_button.set_current_folder(path)
 
    def __save_install_dir_choice(self) -> bool:
        choice = self.filechooser_button.get_current_folder()
        print("The path saved is :", choice)
 
        if not os.path.exists(choice):
 
            try:
                os.makedirs(choice)
            except:
                return False
        else:
            write_test_file = os.path.join(choice, "write_test.txt" )
            try:
                with open(write_test_file, "w" ) as file:
                    file.write("test" )
                    file.close()
                os.remove(write_test_file)
            except:
                return False
        # Remove the old directory if it is empty
        old_dir = self.__config.get("install_dir" )
        try:
            os.rmdir(old_dir)
        except OSError:
            pass
 
        self.__config.set("install_dir", choice)
        return True
 
    @Gtk.Template.Callback("on_button_save_clicked" )
    def save_pressed(self, button):
        self.__save_language_choice()
        if self.__save_install_dir_choice():
            self.response(Gtk.ResponseType.OK)
            self.parent.refresh_game_install_states(path_changed=True)
            self.destroy()
        else:
            dialog = Gtk.MessageDialog(
                parent=self,
                modal=True,
                destroy_with_parent=True,
                message_type=Gtk.MessageType.ERROR,
                buttons=Gtk.ButtonsType.OK,
                text=_("{} isn't a usable path" ).format(self.entry_installpath.get_text())
            )
            dialog.run()
            dialog.destroy()
 
    @Gtk.Template.Callback("on_button_cancel_clicked" )
    def cancel_pressed(self, button):
        self.response(Gtk.ResponseType.CANCEL)
        self.destroy()

mood
Publicité
Posté le 02-01-2020 à 15:54:53  profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Python

  Problème avec "GtkFileChooserButton"

 

Sujets relatifs
Problème procédures imbriquéesprobleme Exception java.util.NoSuchElementException
probleme ioExceptionProbleme exo prologin
Problème d'alloc mémoire avec PHP et lib GD pour générer des imagesProbleme "Hello" -> apprentissage
Problème code iframe programme Amazon Partenaires et Wordpress[FORTRAN] Problème objet/debug
[RÉSOLU]Problème de traitement d'un formulaireProblème de caractères spéciaux tkinter et fichier texte (Resolu)
Plus de sujets relatifs à : Problème avec "GtkFileChooserButton"


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite) / Groupe LDLC / Shop HFR