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 :

Fenêtre blanche en passant par un import module


Sujet :

PyQt Python

  1. #1
    Membre du Club
    Homme Profil pro
    Compositing / Pipeline
    Inscrit en
    Novembre 2011
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Compositing / Pipeline
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Novembre 2011
    Messages : 63
    Points : 45
    Points
    45
    Par défaut Fenêtre blanche en passant par un import module
    Bonjour,

    J'ai refai en miniature le test car je n'arrive pas à trouver d’où viens mon erreur...
    Quand j’exécute mon fichier python j'ai bien ma fenêtre mais toute blanche ?

    J'ai créé l'interface via Designer (PyQt4) puis je l'importe dans second fichier python (fonctions.py).
    Ce qui me donne dans mon dossier courant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    __init__.py
    fonctions.py
    gui.py
    Dans mon fichier gui.py:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    # -*- coding: utf-8 -*-
     
    # Form implementation generated from reading ui file 'Class001.ui'
    #
    # Created by: PyQt4 UI code generator 4.11.4
    #
    # WARNING! All changes made in this file will be lost!
     
    from PyQt4 import QtCore, QtGui
     
    try:
        _fromUtf8 = QtCore.QString.fromUtf8
    except AttributeError:
        def _fromUtf8(s):
            return s
     
    try:
        _encoding = QtGui.QApplication.UnicodeUTF8
        def _translate(context, text, disambig):
            return QtGui.QApplication.translate(context, text, disambig, _encoding)
    except AttributeError:
        def _translate(context, text, disambig):
            return QtGui.QApplication.translate(context, text, disambig)
     
    class Ui_Form(object):
        def setupUi(self, Form):
            Form.setObjectName(_fromUtf8("Form"))
            Form.resize(162, 59)
            Form.setWindowTitle(_fromUtf8("Form"))
            self.verticalLayout = QtGui.QVBoxLayout(Form)
            self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
            self.widget = QtGui.QWidget(Form)
            self.widget.setObjectName(_fromUtf8("widget"))
            self.gridLayout = QtGui.QGridLayout(self.widget)
            self.gridLayout.setObjectName(_fromUtf8("gridLayout"))
            self.btn_A = QtGui.QPushButton(self.widget)
            self.btn_A.setText(_fromUtf8("btn_A"))
            self.btn_A.setObjectName(_fromUtf8("btn_A"))
            self.gridLayout.addWidget(self.btn_A, 0, 0, 1, 1)
            self.lbl_Btn_A = QtGui.QLabel(self.widget)
            self.lbl_Btn_A.setObjectName(_fromUtf8("lbl_Btn_A"))
            self.gridLayout.addWidget(self.lbl_Btn_A, 0, 1, 1, 1)
            self.verticalLayout.addWidget(self.widget)
            self.lbl_Btn_A.setBuddy(self.btn_A)
     
            self.retranslateUi(Form)
            QtCore.QObject.connect(self.btn_A, QtCore.SIGNAL(_fromUtf8("pressed()")), self.lbl_Btn_A.clear)
            QtCore.QMetaObject.connectSlotsByName(Form)
     
        def retranslateUi(self, Form):
            self.lbl_Btn_A.setText(_translate("Form", "lbl_Btn_A", None))
    Dans le fichier fonction.py :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    import sys
    import os 
    from PyQt4 import QtGui
    from gui import Ui_Form
     
     
    class testCmd(QtGui.QMainWindow, Ui_Form):
        def __init__(self):
            QtGui.QMainWindow.__init__(self)
            Ui_Form.__init__(self)
            self.setupUi(self)  
     
    if __name__ == '__main__':  
        app = QtGui.QApplication(sys.argv)  
        window = testCmd()  
        window.show()  
        sys.exit(app.exec_())
    info :
    J'utilise l'IDE par défaut dans windows, l'ors de l’exécution (F5) de "fonction.py" il me créé un "gui.pyc".

  2. #2
    Membre du Club
    Homme Profil pro
    Compositing / Pipeline
    Inscrit en
    Novembre 2011
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Compositing / Pipeline
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Novembre 2011
    Messages : 63
    Points : 45
    Points
    45
    Par défaut
    J'ai modifié la mise en page dans designer et je les vois les boutons...mais en tout petit, tout petit...

    EDIT : Trouvé ! j'avais pas mis de taille minimales !

    Bon là j'ai résolu mon problème. Ceci dit, il devrait quand même afficher quelques chose non ? pas une fenêtre toute blanche ?
    Car quand j’exécute juste le gui.py il m'affiche bien l'UI avec les boutons...une idée ?

  3. #3
    Expert éminent

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

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 300
    Points : 6 780
    Points
    6 780
    Par défaut
    Salut,

    Il n'y a pas besoin de fixer des tailles minimales, elles existent par défaut. Trop grandes en général d'ailleurs.

  4. #4
    Membre du Club
    Homme Profil pro
    Compositing / Pipeline
    Inscrit en
    Novembre 2011
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Compositing / Pipeline
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Novembre 2011
    Messages : 63
    Points : 45
    Points
    45
    Par défaut
    Il n'y a pas besoin de fixer des tailles minimales, elles existent par défaut. Trop grandes en général d'ailleurs.
    ha ? j'avais fait une mise en page verticale et le minimumSize était à 0x0. En forçant le minimumSize (contrainte de taille minimale) ça fonctionne.

    Par contre et c'est là ou je n'ai pas compris; pourquoi dans mon fichier gui.py (quand je rajoute un exec()) la fenêtre s’exécute proprement.
    Le problème viens quand je passe par l'import*

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2007] Nom propre en passant par un Module de classe
    Par maxval18 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 24/01/2013, 05h31
  2. Réponses: 7
    Dernier message: 04/07/2012, 18h06
  3. Réponses: 6
    Dernier message: 12/03/2012, 11h41
  4. Bouger une fenêtre en passant par les processus (sans FindWindow)
    Par ero-sennin dans le forum API, COM et SDKs
    Réponses: 5
    Dernier message: 05/06/2009, 23h05
  5. Réponses: 1
    Dernier message: 31/03/2009, 11h23

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