IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PyQt Python Discussion :

Mettre en relation des fichiers créés avec QtCreator


Sujet :

PyQt Python

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 25
    Par défaut Mettre en relation des fichiers créés avec QtCreator
    Bonjour,
    j'ai créé une fenêtre principale avec une barre de menus. Quand je cliques sur le menu "A Propos", ça m'ouvre une autre fenêtre dont le script (que j'ai fait) est sur un autre fichier (en gros j'importe un fichier).
    Mais je n'arrive pas à utiliser un fichier fait par Qtcreator, même converti en .py, et à utiliser les classes de ce dit fichier.

    Comment faire ?

    Et plus généralement, comment mettre en relation les fichiers créés dans QtCreator ? Avez-vous de la documentation à me fournir (française ou anglaise peu importe) ?
    J'ai beau cherché sur le net, je trouve beaucoup de docs pour créer des interfaces graphiques avec QtCreator mais pas trop pour les utiliser par la suite avec Python.

    Merci
    Maxime

  2. #2
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 307
    Par défaut
    Salut,

    Je suppose que tu parles du Designer, si tu ajoute l'option -x lors de la conversion en .py, pour rendre le fichier exécutable tout seul, sans le programme principal donc, tu vas touver en fin de script des lignes comme celles ci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    if __name__ == "__main__":
        import sys
        app = QtGui.QApplication(sys.argv)
        MonDialog = QtGui.QDialog()
        ui = Ui_MonDialog()
        ui.setupUi(MonDialog)
        MonDialog.show()
        sys.exit(app.exec_())
    Ce sont celles-la que tu dois intégrer à ton code à l'exception de app = QtGui.QApplication(sys.argv). Il ne peut exister qu'une seule QApplication dans un programme.

    Dans ton script principal:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    from monDialog import Ui_Mondialog
    # monDialog est le nom du fichier sans l'extension et Ui_MonDialog est
    # le nom de la classe principale.
     
    def call_help(self):
        # call_help est un exemple
        MonDialog = QtGui.QDialog()
        help = Ui_MonDialog()
        help.setupUi(MonDialog)
        MonDialog.show()
        reply = MonDialog.exec_()
    La raison de:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
        reply = MonDialog.exec_()
    est que si ton dialogue doit retourner un choix de l'utilisateur (OK, Cancel, etc),
    ce choix sera contenu dans la variable reply.

    Et si il est nécessaire que la boite de dialogue ait accès à des données de l'application principale, tu rajoutes self dans l'appel de setupUi()

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
        help.setupUi(MonDialog, self)
    en modifiant cette fonction bien sur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    class Ui_MonDialog(object):
        def setupUi(MonDialog, main):
        self.main = main
    Toutes les interactions sont possibles entre les deux scripts, y compris modifier l'aspect de la fenêtre principale durant l'exécution du dialogue.

  3. #3
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 307
    Par défaut
    ... et ce matin, je découvre Qt Creator.

    Donc tu ne parles pas uniquement de boites de dialogue.

    Ca ne change pas grand chose, pour les boites de dialogue, tu as une méthode dans mon post précédent, pour du code uniquement, tu le fera avec un import.

    Si tu n'y arrive pas, il faudra montrer par l'exemple comment tu fais cet import, que tu utilises Qt Creator ou n'importe quel autre IDE n'a rien à voir avec ça.

Discussions similaires

  1. Mettre en place des fichiers de logs avec Webmin
    Par Sn0opy dans le forum Distributions
    Réponses: 0
    Dernier message: 27/11/2009, 12h08
  2. Réponses: 2
    Dernier message: 26/05/2009, 10h51
  3. [Excel] Comment lire des fichiers excel avec php?
    Par dear_rihab dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 02/11/2007, 12h38
  4. importer des fichiers mp3 avec sql server uniquement
    Par cool dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 08/04/2006, 13h21
  5. [Excel] Générer des fichiers Excel avec PHP et des données SQL
    Par MaTHieU_ dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 29/03/2006, 15h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo