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 :

récupérer la taille de mon application


Sujet :

PyQt Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2006
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Santé

    Informations forums :
    Inscription : Mai 2006
    Messages : 33
    Par défaut récupérer la taille de mon application
    Bonjour,

    Je voudrais récupérer la taille de mon application afin de pouvoir affecter au GridLayout de ma fenêtre, la dimension de ma fenêtre afin qu'il s'adapte automatiquement dans le resizeEvent à ma fenêtre.

    def resizeEvent(self,event):
    self.ui_main.gridLayout.setGeometry(QRect(0,0,QApplication.desktop().width(),QApplication.desktop().height()))

    J'arrive à récupérer la taille de l'écran mais pas celle de l'application !

    Merci.

  2. #2
    Membre chevronné Avatar de licardentaistor
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juillet 2021
    Messages
    345
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juillet 2021
    Messages : 345
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    def resizeEvent(self, event):
        # Récupérer la taille actuelle de la fenêtre
        window_size = self.size()
     
        # Récupérer la largeur et la hauteur
        window_width = window_size.width()
        window_height = window_size.height()
     
        # Ajuster le GridLayout en fonction de la nouvelle taille de la fenêtre
        self.ui_main.gridLayout.setGeometry(QRect(0, 0, window_width, window_height))

  3. #3
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2006
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Santé

    Informations forums :
    Inscription : Mai 2006
    Messages : 33
    Par défaut
    Merci, mais cela ne fonctionne pas.

    Je ne sais pas si j'utilise les bons termes, mais j'ai crée mon interface graphique avec Qt Designer qui se nomme Ui_Form.py

    Afin de pouvoir ajouter les actions aux évènements des widgets j'ai crée un module Ui.py qui hérite de Ui_Form.

    class Ui ():

    # constructeur de la fiche
    def __init__(self):
    super().__init__()
    # instanciation de la fiche QT créee avec QTDesigner
    self.ui_main = Ui_Form()
    self.ui_main.resizeEvent = self.resizeEvent


    J'ai fait ça car si je mets les actions dans Ui_Form, je perds à chaque modification dans Qt Designer le code que j'ai rajouté
    J'ai ajouté l'event resizeEvent dans Ui_Form et je l'ai surchargé dans UI.
    J'essai donc dans resizeEvent de Ui de changer la taille du gridlayout de UI.

  4. #4
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 831
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 831
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par cpofm Voir le message
    Je voudrais récupérer la taille de mon application afin de pouvoir affecter au GridLayout de ma fenêtre, la dimension de ma fenêtre afin qu'il s'adapte automatiquement dans le resizeEvent à ma fenêtre.
    Pas besoin. Si la fenêtre est parente du gridLayout, celui-ci s'adapte automatiquement quand on retaille la fenêtre. Encore faut-il ne pas avoir négligé cette notion de parenté.
    Un exemple ici...

    Citation Envoyé par cpofm Voir le message
    J'arrive à récupérer la taille de l'écran mais pas celle de l'application !
    Ton application n'a pas de taille. Une application c'est juste un gestionnaire d'évènements.
    Ensuite à cette application est associé un widget. Donc là tu peux récupérer la taille dudit widget via widget.height() et widget.width().
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  5. #5
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2006
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Santé

    Informations forums :
    Inscription : Mai 2006
    Messages : 33
    Par défaut
    Je n'y arrive toujours pas.

    J'essaie via l'event resizeEvent de redimensionner mon gridlayout mais à la base mon problème est le suivant :

    En fait dans Qt Designer, j'ai mis mes widgets dans un gridlayout et ensuite pour qu'il s'adapte à la taille de l'écran j'ai sélectionné dans mettre en page, mettre en page dans une grille.

    Quand je lance la prévisualisation dans QT Designer ça fonctionne correctement, le gridlayout s'adapte à la taille de la fenêtre.

    Si j'exécute mon module Ui_Form.py généré à partir du Ui_Form.ui, cela fonctionne parfaitement.

    Le problème c'est quand je lance l'application qui comporte les modules Main, Ui et Ui_Form, le gridlayout s'affiche tout petit en haut à gauche.

    Ui hétire de UI_Form





    from PyQt5 import QtCore, QtGui, QtWidgets
    from Ui import Ui


    if __name__ == '__main__':
    import sys
    # création de l'application
    app = QtWidgets.QApplication(sys.argv)

    #creation de l'interface graphique
    MainWindow = QtWidgets.QMainWindow()

    # instanciation de la class Ui
    ui = Ui()

    # Configuration de l'objet Ui
    ui.setupUI(MainWindow,app)

    #affichage de l'interface graphique
    MainWindow.show()

    #sortie (exit) de la boucle d'évènement (app.exec)
    sys.exit(app.exec_())



    import sys
    from Ui_Form import Ui_Form
    from PyQt5.QtCore import *
    from PyQt5.QtGui import *
    from PyQt5.QtWidgets import *




    class Ui ():

    # constructeur de la fiche
    def __init__(self):
    super().__init__()
    # instanciation de la fiche QT créee avec QTDesigner
    self.ui_main = Ui_Form()


    # configuration de la fiche
    def setupUI(self, mainwindow, application):
    # configuration de l'interface en appelant son constructeur
    self.ui_main.setupUi(mainwindow)
    # self.app = application
    # Initialisation des variables
    self.initVar()
    # initialisation de la grille affichant les logs
    self.initGrille()
    # initialisations diverses
    self.initGen()
    # définition des actions sur les click des boutons
    self.activationclick()
    # affichage des filtres
    self.affichageFiltres()
    #self.ui_main.gridLayout.setGeometry(QRect(0,0,1200,1024))



    # initialisation des variables globales
    def initVar(self):
    self.nomFichier = ""
    self.filtreDebug = True
    self.filtreInfo = True
    self.filtreWarning = True
    self.filtreError = True
    self.filtreCritical = True
    self.colDebug = 'burlywood'
    self.colInfo = 'aquamarine'
    self.colWarning = 'plum'
    self.colError = 'lightcoral'
    self.colCritical = 'red'


    # initialisation de la grille de résultats
    def initGrille(self):
    # Nom des colonnes
    self.ui_main.tableWidget.setHorizontalHeaderLabels(["Date", "Heure", "Niveau :", "Module", "Fonction", "Message"])
    self.ui_main.tableWidget.setColumnWidth(5,500)
    # nombre de lignes
    self.ui_main.tableWidget.setRowCount(1)


    def initGen(self):
    self.ui_main.label_nbLogs.setText('Nb logs : ...')


    # définition des actions sur les clicks des boutons
    def activationclick(self):
    self.ui_main.pushButtonAffichage.clicked.connect(self.modificationAffichage)
    self.ui_main.pushButtonMaj.clicked.connect(self.majAffichage)
    self.ui_main.checkBox_Debug.stateChanged.connect(self.checkboxDebugChange)
    self.ui_main.checkBox_Info.stateChanged.connect(self.checkboxInfoChange)
    self.ui_main.checkBox_warning.stateChanged.connect(self.checkboxWarningChange)
    self.ui_main.checkBox_error.stateChanged.connect(self.checkboxErrorChange)
    self.ui_main.checkBox_critical.stateChanged.connect(self.checkboxCriticalChange)


    # click sur le bouton affichage
    def modificationAffichage(self):
    self.lectureFichier()


    # click sur le bouton Maj
    def majAffichage(self):
    if self.nomFichier != "" :
    self.affichageFichier()


    # Lecture du fichier
    def lectureFichier(self) :
    file_name = QFileDialog.getOpenFileName(
    None,
    "Open Document", "",
    "log Files (*.log)")

    if file_name:
    self.nomFichier = file_name[0]
    self.affichageFichier()



    # Affichage du fichier
    def affichageFichier(self):
    # ouverture du fichier
    with open(self.nomFichier, "r") as file:
    # lecture du fichier
    lines = file.readlines()
    # effacement de la grille
    self.ui_main.tableWidget.clear()
    self.ui_main.tableWidget.setHorizontalHeaderLabels(["Date", "Heure", "Niveau :", "Module", "Fonction", "Message"])
    # affectation nombre de lignes
    self.ui_main.tableWidget.setRowCount(len(lines))
    self.ui_main.label_nbLogs.setText('Nb logs : ...')
    numLigne = -1
    # parcours des lignes pour affichage
    for i, line in enumerate(lines):
    chaine = line.strip()
    # décomposition de la ligne, les champs sont séparés par des ' - '
    splitchaine = chaine.split(' - ')
    # creation d'un item pour la table afin d'affecter une couleur
    if splitchaine[1] == "DEBUG":
    if self.filtreDebug == False:
    continue
    item = QTableWidgetItem()
    item.setBackground(QColor(self.colDebug))
    else:
    if splitchaine[1] == "INFO":
    if self.filtreInfo == False:
    continue
    item = QTableWidgetItem()
    item.setBackground(QColor(self.colInfo))
    else:
    if splitchaine[1] == "WARNING":
    if self.filtreWarning == False:
    continue
    item = QTableWidgetItem()
    item.setBackground(QColor(self.colWarning))
    else:
    if splitchaine[1] == "ERROR":
    if self.filtreError == False:
    continue
    item = QTableWidgetItem()
    item.setBackground(QColor(self.colError))
    else:
    # critical
    if self.filtreCritical == False:
    continue
    item = QTableWidgetItem()
    item.setBackground(QColor(self.colCritical))
    numLigne += 1
    # la date et l'heure sont dans la même chaine, il faut les séparer
    # récupération de la date
    pos1 = chaine.find(' ')
    souschaine = chaine[0:pos1]
    # affectation du texte à l'item
    item.setText(souschaine)
    # affichage du texte dans la cellule de la table
    self.ui_main.tableWidget.setItem(numLigne, 0, QTableWidgetItem(item))
    # récupération de l'heure
    chaine = line.strip()[pos1+1:len(line.strip())]
    pos1 = chaine.find(' ')
    souschaine = chaine[0:pos1]
    item.setText(souschaine)
    self.ui_main.tableWidget.setItem(numLigne, 1, QTableWidgetItem(item))
    # niveau du log
    item.setText(splitchaine[1])
    self.ui_main.tableWidget.setItem(numLigne, 2, QTableWidgetItem(item))
    # module du log
    item.setText(splitchaine[2])
    self.ui_main.tableWidget.setItem(numLigne, 3, QTableWidgetItem(item))
    # fonction dans le module
    item.setText(splitchaine[3])
    self.ui_main.tableWidget.setItem(numLigne, 4, QTableWidgetItem(item))
    # message
    item.setText(splitchaine[4])
    self.ui_main.tableWidget.setItem(numLigne, 5, QTableWidgetItem(item))
    self.ui_main.tableWidget.setRowCount(numLigne+1)
    self.ui_main.label_nbLogs.setText('Nb logs : '+str(numLigne+1))


    # affectation du check des checkbox filtres niveau de logs
    def affichageFiltres(self):
    self.ui_main.checkBox_Debug.setChecked(self.filtreDebug)
    self.ui_main.checkBox_Info.setChecked(self.filtreInfo)
    self.ui_main.checkBox_warning.setChecked(self.filtreWarning)
    self.ui_main.checkBox_error.setChecked(self.filtreError)
    self.ui_main.checkBox_critical.setChecked(self.filtreCritical)
    self.ui_main.checkBox_Debug.setStyleSheet("Color: "+self.colDebug)
    self.ui_main.checkBox_Info.setStyleSheet("Color: "+self.colInfo)
    self.ui_main.checkBox_warning.setStyleSheet("Color: "+self.colWarning)
    self.ui_main.checkBox_error.setStyleSheet("Color: "+self.colError)
    self.ui_main.checkBox_critical.setStyleSheet("Color: "+self.colCritical)


    # au changement d'état de la checkbox
    def checkboxDebugChange(self):
    self.filtreDebug = (self.ui_main.checkBox_Debug.isChecked() == True)

    # au changement d'état de la checkbox
    def checkboxInfoChange(self):
    self.filtreInfo = (self.ui_main.checkBox_Info.isChecked() == True)

    # au changement d'état de la checkbox
    def checkboxWarningChange(self):
    self.filtreWarning = (self.ui_main.checkBox_warning.isChecked() == True)

    # au changement d'état de la checkbox
    def checkboxErrorChange(self):
    self.filtreError = (self.ui_main.checkBox_error.isChecked() == True)

    # au changement d'état de la checkbox
    def checkboxCriticalChange(self):
    self.filtreCritical = (self.ui_main.checkBox_critical.isChecked() == True)


    from PyQt5 import QtCore, QtGui, QtWidgets


    class Ui_Form(object):
    def setupUi(self, Form):
    Form.setObjectName("Form")
    Form.resize(1024, 968)
    Form.setMinimumSize(QtCore.QSize(600, 800))
    self.gridLayout_2 = QtWidgets.QGridLayout(Form)
    self.gridLayout_2.setObjectName("gridLayout_2")
    self.gridLayout = QtWidgets.QGridLayout()
    self.gridLayout.setSizeConstraint(QtWidgets.QLayout.SetFixedSize)
    self.gridLayout.setObjectName("gridLayout")
    self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
    self.horizontalLayout_3.setObjectName("horizontalLayout_3")
    spacerItem = QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum)
    self.horizontalLayout_3.addItem(spacerItem)
    self.gridLayout.addLayout(self.horizontalLayout_3, 0, 0, 1, 1)
    self.horizontalLayout_4 = QtWidgets.QHBoxLayout()
    self.horizontalLayout_4.setObjectName("horizontalLayout_4")
    spacerItem1 = QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum)
    self.horizontalLayout_4.addItem(spacerItem1)
    self.gridLayout.addLayout(self.horizontalLayout_4, 0, 2, 1, 1)
    self.verticalLayout_4 = QtWidgets.QVBoxLayout()
    self.verticalLayout_4.setObjectName("verticalLayout_4")
    spacerItem2 = QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
    self.verticalLayout_4.addItem(spacerItem2)
    self.label = QtWidgets.QLabel(Form)
    font = QtGui.QFont()
    font.setPointSize(18)
    self.label.setFont(font)
    self.label.setStyleSheet("color: rgb(85, 85, 255);")
    self.label.setAlignment(QtCore.Qt.AlignCenter)
    self.label.setObjectName("label")
    self.verticalLayout_4.addWidget(self.label)
    spacerItem3 = QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
    self.verticalLayout_4.addItem(spacerItem3)
    self.horizontalLayout = QtWidgets.QHBoxLayout()
    self.horizontalLayout.setObjectName("horizontalLayout")
    self.labelAffichage = QtWidgets.QLabel(Form)
    font = QtGui.QFont()
    font.setPointSize(12)
    self.labelAffichage.setFont(font)
    self.labelAffichage.setWordWrap(False)
    self.labelAffichage.setObjectName("labelAffichage")
    self.horizontalLayout.addWidget(self.labelAffichage)
    self.pushButtonAffichage = QtWidgets.QPushButton(Form)
    sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
    sizePolicy.setHorizontalStretch(0)
    sizePolicy.setVerticalStretch(2)
    sizePolicy.setHeightForWidth(self.pushButtonAffichage.sizePolicy().hasHeightForWidth())
    self.pushButtonAffichage.setSizePolicy(sizePolicy)
    self.pushButtonAffichage.setMaximumSize(QtCore.QSize(100, 16777215))
    font = QtGui.QFont()
    font.setPointSize(12)
    self.pushButtonAffichage.setFont(font)
    self.pushButtonAffichage.setObjectName("pushButtonAffichage")
    self.horizontalLayout.addWidget(self.pushButtonAffichage)
    spacerItem4 = QtWidgets.QSpacerItem(600, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
    self.horizontalLayout.addItem(spacerItem4)
    self.label_nbLogs = QtWidgets.QLabel(Form)
    self.label_nbLogs.setEnabled(True)
    sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred)
    sizePolicy.setHorizontalStretch(120)
    sizePolicy.setVerticalStretch(0)
    sizePolicy.setHeightForWidth(self.label_nbLogs.sizePolicy().hasHeightForWidth())
    self.label_nbLogs.setSizePolicy(sizePolicy)
    self.label_nbLogs.setMaximumSize(QtCore.QSize(300, 16777215))
    font = QtGui.QFont()
    font.setPointSize(12)
    self.label_nbLogs.setFont(font)
    self.label_nbLogs.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
    self.label_nbLogs.setObjectName("label_nbLogs")
    self.horizontalLayout.addWidget(self.label_nbLogs)
    self.verticalLayout_4.addLayout(self.horizontalLayout)
    spacerItem5 = QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
    self.verticalLayout_4.addItem(spacerItem5)
    self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
    self.horizontalLayout_2.setObjectName("horizontalLayout_2")
    self.label_2 = QtWidgets.QLabel(Form)
    font = QtGui.QFont()
    font.setPointSize(12)
    self.label_2.setFont(font)
    self.label_2.setObjectName("label_2")
    self.horizontalLayout_2.addWidget(self.label_2)
    self.checkBox_Debug = QtWidgets.QCheckBox(Form)
    font = QtGui.QFont()
    font.setPointSize(12)
    self.checkBox_Debug.setFont(font)
    self.checkBox_Debug.setObjectName("checkBox_Debug")
    self.horizontalLayout_2.addWidget(self.checkBox_Debug)
    self.checkBox_Info = QtWidgets.QCheckBox(Form)
    font = QtGui.QFont()
    font.setPointSize(12)
    self.checkBox_Info.setFont(font)
    self.checkBox_Info.setObjectName("checkBox_Info")
    self.horizontalLayout_2.addWidget(self.checkBox_Info)
    self.checkBox_warning = QtWidgets.QCheckBox(Form)
    font = QtGui.QFont()
    font.setPointSize(12)
    self.checkBox_warning.setFont(font)
    self.checkBox_warning.setObjectName("checkBox_warning")
    self.horizontalLayout_2.addWidget(self.checkBox_warning)
    self.checkBox_error = QtWidgets.QCheckBox(Form)
    font = QtGui.QFont()
    font.setPointSize(12)
    self.checkBox_error.setFont(font)
    self.checkBox_error.setObjectName("checkBox_error")
    self.horizontalLayout_2.addWidget(self.checkBox_error)
    self.checkBox_critical = QtWidgets.QCheckBox(Form)
    font = QtGui.QFont()
    font.setPointSize(12)
    self.checkBox_critical.setFont(font)
    self.checkBox_critical.setObjectName("checkBox_critical")
    self.horizontalLayout_2.addWidget(self.checkBox_critical)
    self.pushButtonMaj = QtWidgets.QPushButton(Form)
    self.pushButtonMaj.setMaximumSize(QtCore.QSize(100, 16777215))
    font = QtGui.QFont()
    font.setPointSize(12)
    self.pushButtonMaj.setFont(font)
    self.pushButtonMaj.setObjectName("pushButtonMaj")
    self.horizontalLayout_2.addWidget(self.pushButtonMaj)
    self.verticalLayout_4.addLayout(self.horizontalLayout_2)
    spacerItem6 = QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
    self.verticalLayout_4.addItem(spacerItem6)
    self.tabWidgetGen = QtWidgets.QTabWidget(Form)
    self.tabWidgetGen.setObjectName("tabWidgetGen")
    self.tab_grille = QtWidgets.QWidget()
    self.tab_grille.setObjectName("tab_grille")
    self.verticalLayout = QtWidgets.QVBoxLayout(self.tab_grille)
    self.verticalLayout.setObjectName("verticalLayout")
    self.tableWidget = QtWidgets.QTableWidget(self.tab_grille)
    self.tableWidget.setObjectName("tableWidget")
    self.tableWidget.setColumnCount(6)
    self.tableWidget.setRowCount(0)
    item = QtWidgets.QTableWidgetItem()
    self.tableWidget.setHorizontalHeaderItem(0, item)
    item = QtWidgets.QTableWidgetItem()
    self.tableWidget.setHorizontalHeaderItem(1, item)
    item = QtWidgets.QTableWidgetItem()
    self.tableWidget.setHorizontalHeaderItem(2, item)
    item = QtWidgets.QTableWidgetItem()
    self.tableWidget.setHorizontalHeaderItem(3, item)
    item = QtWidgets.QTableWidgetItem()
    self.tableWidget.setHorizontalHeaderItem(4, item)
    item = QtWidgets.QTableWidgetItem()
    self.tableWidget.setHorizontalHeaderItem(5, item)
    self.verticalLayout.addWidget(self.tableWidget)
    self.tabWidgetGen.addTab(self.tab_grille, "")
    self.tab_stats = QtWidgets.QWidget()
    self.tab_stats.setObjectName("tab_stats")
    self.tabWidgetGen.addTab(self.tab_stats, "")
    self.verticalLayout_4.addWidget(self.tabWidgetGen)
    spacerItem7 = QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
    self.verticalLayout_4.addItem(spacerItem7)
    self.gridLayout.addLayout(self.verticalLayout_4, 0, 1, 1, 1)
    self.gridLayout_2.addLayout(self.gridLayout, 0, 0, 1, 1)

    self.retranslateUi(Form)
    self.tabWidgetGen.setCurrentIndex(0)
    QtCore.QMetaObject.connectSlotsByName(Form)

    def retranslateUi(self, Form):
    _translate = QtCore.QCoreApplication.translate
    Form.setWindowTitle(_translate("Form", "Exploitation logs"))
    self.label.setText(_translate("Form", "Analyseur des logs du logiciel Asgard commandant le robot Bizlink Orion en Y1"))
    self.labelAffichage.setText(_translate("Form", "Sélection du fichier de logs :"))
    self.pushButtonAffichage.setText(_translate("Form", "Sélection"))
    self.label_nbLogs.setText(_translate("Form", "Nb logs : ..."))
    self.label_2.setText(_translate("Form", "Filtres :"))
    self.checkBox_Debug.setText(_translate("Form", "Debug"))
    self.checkBox_Info.setText(_translate("Form", "Info"))
    self.checkBox_warning.setText(_translate("Form", "Warning"))
    self.checkBox_error.setText(_translate("Form", "Error"))
    self.checkBox_critical.setText(_translate("Form", "Critical"))
    self.pushButtonMaj.setText(_translate("Form", "Mise à jour"))
    item = self.tableWidget.horizontalHeaderItem(0)
    item.setText(_translate("Form", "Date"))
    item = self.tableWidget.horizontalHeaderItem(1)
    item.setText(_translate("Form", "Heure"))
    item = self.tableWidget.horizontalHeaderItem(2)
    item.setText(_translate("Form", "Niveau"))
    item = self.tableWidget.horizontalHeaderItem(3)
    item.setText(_translate("Form", "Module"))
    item = self.tableWidget.horizontalHeaderItem(4)
    item.setText(_translate("Form", "Fonction"))
    item = self.tableWidget.horizontalHeaderItem(5)
    item.setText(_translate("Form", "Message"))
    self.tabWidgetGen.setTabText(self.tabWidgetGen.indexOf(self.tab_grille), _translate("Form", "Tableau de logs"))
    self.tabWidgetGen.setTabText(self.tabWidgetGen.indexOf(self.tab_stats), _translate("Form", "Stats"))


    if __name__ == "__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    Form = QtWidgets.QWidget()
    ui = Ui_Form()
    ui.setupUi(Form)
    Form.show()
    sys.exit(app.exec_())

  6. #6
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 831
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 831
    Billets dans le blog
    1
    Par défaut
    Et tu trouves ton code lisible ? Tu n'as pas l'impression que le manque de tabulations seront un gros handicap pour celui qui voudra tester ou bien tu te dis que les tabulations en Python c'est facultatif ?
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  7. #7
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2006
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Santé

    Informations forums :
    Inscription : Mai 2006
    Messages : 33
    Par défaut
    Désolé pour la balise [code], j'ai essayé de l'utiliser mais apparemment le rendu n'est pas là !

    J'ai cherché sur le site un mode d'emploi pour ajouté son code de façon visible, je n'ai pas trouvé la solution.

    Si tu peux me dire comment ajouté le code dans une discussion, je suis preneur.
    Il faut ajouter une balise avant et après le code ?

    Pour la lisibilité, les tabulations ont été supprimées vu que la balise code n'a pas fonctionné !

    Je trouve que mon code est bien indenté dans PyScripter. Désolé.

    Je débute en python, d'habitude je code en Delphi, quelle galère pour la partie graphique par rapport à Delphi!

    L'application qui affiche des logs générés avec le module logging fonctionne très bien mais c'est le rendu visuel qui n'est pas à la hauteur.

    Si pas de solution, je figerai la taille de mon interface et tant pis elle ne s'adaptera pas à taille demandée par l'utilisateur.

    Et la prochaine fois dès qu'il y aura une interface conséquente, je coderai en Delphi ...

  8. #8
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 831
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 831
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par cpofm Voir le message
    Si tu peux me dire comment ajouté le code dans une discussion, je suis preneur.
    • dans les autres topics (tu fais "répondre avec citation" et tu vois la citation du topic et de là comment il a écrit son code)
    • dans ma signature
    • dans les règles, lesquelles incluent une démonstration

    Comme quoi...

    Citation Envoyé par cpofm Voir le message
    Si pas de solution, je figerai la taille de mon interface et tant pis elle ne s'adaptera pas à taille demandée par l'utilisateur.
    Ben si, il y en a une puisque déjà tu dis qu'avec designer ça marche parfaitement. Et l'exemple dont je t'ai envoyé le lien le fait !!!
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

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

Discussions similaires

  1. [Débutant] Récupérer le chemin de mon application
    Par amine1980 dans le forum C#
    Réponses: 3
    Dernier message: 27/09/2012, 12h08
  2. Récupérer un fichier dans mon application
    Par 1rageux dans le forum Android
    Réponses: 7
    Dernier message: 19/12/2009, 17h42
  3. [AC-2000] Taille de mon application qui augmente trop
    Par Aeltith dans le forum Modélisation
    Réponses: 5
    Dernier message: 10/11/2009, 05h09
  4. Récupérer les sessions connectées à mon application DEPUIS une session
    Par touria_lahsine dans le forum Développement Web en Java
    Réponses: 3
    Dernier message: 30/05/2008, 16h33
  5. Réponses: 6
    Dernier message: 28/08/2007, 12h46

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