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 :

Petit nouveau avec quelques questions


Sujet :

PyQt Python

  1. #21
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2013
    Messages : 563
    Points : 460
    Points
    460
    Par défaut
    Merci pour tes réponses, je regarde ça.

    Je suis confrontré à un autre soucis avec une 2e fenetre :
    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
    class AboutUI(QtGui.QMainWindow, AboutUI.Ui_about_window):
        def __init__(self, parent=None):
            super(AboutUI, self).__init__(parent)
            self.setupUi(self) # Lance la fonction defenissant tous les widgets du fichier UI
            self.connectAction() # Lance la fonction faisant les connexions
     
            size_ecran = QtGui.QDesktopWidget().screenGeometry() # Taille de l'ecran
            size_fenetre = self.geometry() # Taille de la fenetre
            emplacement = (size_ecran.width()-size_fenetre.width())/2, (size_ecran.height()-size_fenetre.height())/2
            self.move((size_ecran.width()-size_fenetre.width())/2, (size_ecran.height()-size_fenetre.height())/2) # Place la fenetre en fonction de sa taille et de la taille de l'ecran
     
        def main(self): # Necessaire pour lancer l'application graphique
            self.show() # Affiche la fenetre
     
        def connectAction(self):
            self.licence_open.clicked.connect(self.LicenceOpen)
     
        def LicenceOpen(self):
            """Fonction ouvrant le fichier de la licence."""
            if os.path.exists(Configs["LicenceFile"]):
                os.system('xdg-open "%s"' %Configs["LicenceFile"])
     
     
    class MKVExtractorGui(QtGui.QMainWindow, MKVExtractorGuiUI.Ui_mkv_extractor_gui):
     
    ....
     
        def AboutMKVExtractorGui(self):
            """Affichage de la fenetre about."""
            self.About = QtGui.QMainWindow()
            self.ui2 = AboutUI()
            self.ui2.setupUi(self.About)
            self.About.show()
    L'ouverture de la fenetre se passe bien mais celle-ci ne veut pas se centrer alors que le calcul est bon (je l'ai verifier via un print).
    Et le bouton licence_open ne fait rien (j'ai verifier avec un print)

  2. #22
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mai 2013
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2013
    Messages : 89
    Points : 91
    Points
    91
    Par défaut
    J'en ai raté tout à l'heure

    Je trouve l'interieur de la fenetre de qtcreator plus moche qu'en qt4 mais bon....
    Beaucoup de forme carrées, pas d'arrondis...
    Perso j'aime bien mais bon, les gouts et les couleurs.......

    Y a-t-il des difference pour les bases de pyqt5 ?
    Pas énorme mais je suis loin d'être un pro du QT. De base (et de memoire) c'est surtout les méthodes d'importions des fichiers qui ont changés.

    EDIT : j'arrive pas à faire fonctionner pyqt5...
    Code :
    Sélectionner tout - Visualiser dans une fenêtre à part

    1
    2


    class MKVExtractorGui(QtGui.QMainWindow, MKVExtractorGuiUI.Ui_mkv_extractor_gui):
    AttributeError: 'module' object has no attribute 'QMainWindow'
    N'aurais -tu pas un probleme d'import ? Peux-tu mettre le début, svp

    j'ai importé QtQml, QtQuick mais je n'arrive pas à lancer mon logiciel.
    Pourquoi faire, tu n'en as pas besoin pour ce que tu veux faire ?

    Le truc chiant c'est qu'il n'y a pas de tuto sur pyqt5... au contraire de pyqt4
    D'accord mais cela vient car QT5 et PyQT5 n'ont pas été "libérés" il y a longtemps.

  3. #23
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2013
    Messages : 563
    Points : 460
    Points
    460
    Par défaut
    J'ai reposté juste avant toi donc tu n'as pas du voir le message ci-dessus non plus :p


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    pyuic5 MKVExtractorGuiUI.ui -o MKVExtractorGuiUI.py && python3.3 MKVExtractorGui.py
     
    Traceback (most recent call last):
      File "MKVExtractorGui.py", line 38, in <module>
        class AboutUI(QtGui.QMainWindow, AboutUI.Ui_about_window):
    AttributeError: 'module' object has no attribute 'QMainWindow'
    Meme soucis si je vire la fenetre About, il me signale le soucis avec la fenetre principale

    Pourtant je charge bien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    from PyQt5 import QtGui, QtCore
    Les fichiers UI.py
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    from PyQt5 import QtCore, QtGui, QtWidgets
    L’intérêt de pyqt5 n'est il pas justement le fait qu'on puisse lire directement les fichiers xml ?

  4. #24
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mai 2013
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2013
    Messages : 89
    Points : 91
    Points
    91
    Par défaut
    J'ai reposté juste avant toi donc tu n'as pas du voir le message ci-dessus non plus :p
    Exact, d'ailleurs cela surprend.

    Si tu as du temps et une messagerie en irect on pourrait essayé d'avancer ensemble pour mkv extractor gui, qu'en penses tu ?!
    Si c'est moi, clic sur Mp c'est une de mes 2 adresses e/gmails (liée à Openshot) que j'utilise tous les jours.

    Pourtant je charge bien :
    Code :
    from PyQt5 import QtGui, QtCore
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    from PyQt5.QtGui import *
    from PyQt5.QtCore import *
    sera mieux adapté et de plus cela téviitera d'avoir par exemple QtGui.QIcon('play.png'). Par contre tu auras QIcon('play.png'), le code est un peu plus clair/lisible à mon avis.

    L’intérêt de pyqt5 n'est il pas justement le fait qu'on puisse lire directement les fichiers xml ?
    Non pyqt5 est l'évolution de pyqt4 mais pour QT5. Par contre, je suis incapable de dire si'lfonctionne qu'avec Python 3.x. Par contre, il n'utilise que la nouvelle methode de connection des signaux/slots.

  5. #25
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mai 2013
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2013
    Messages : 89
    Points : 91
    Points
    91
    Par défaut
    pyuic5 MKVExtractorGuiUI.ui -o MKVExtractorGuiUI.py && python3.3 MKVExtractorGui.py
    Je ne comprends pas pourquoi tu mets ce code dans ton fichier.
    pyuic5 sers à générer un fichier qui s'interface avec ton fichier ui et ton fichier py principal.
    Vincent, Tyrtanos un avis sur le sujet ?

    NB il faut aussi importer ces fichiers dans les imports.

  6. #26
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2013
    Messages : 563
    Points : 460
    Points
    460
    Par défaut
    C'est en lien qt quick a priori : http://ceg.developpez.com/tutoriels/...faces-simples/

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    from PyQt5.QtGui import *
    from PyQt5.QtCore import *
    Ca ne change rien :p
    Mais en effet ca serait plus court et donc plus lisible.
    Mais du coup on ne sait plus d'ou viennent les fonctions

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    pyuic5 MKVExtractorGuiUI.ui -o MKVExtractorGuiUI.py && python3.3 MKVExtractorGui.py
    C'est juste pour vous montrer ce que je fais pour lancer le logiciel :p Ce n'est pas dans le fichier py.

    Et j'importe bien les fichiers UI :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    import MKVExtractorGuiUI
    import AboutUI
    VinsS => Nickel ta facon de remplir
    Mais pour rajouter encore de la complexité :p
    est-il possible d'afficher une icone et un texte dans la meme case ?
    J'arrive à le faire séparement mais pas les.
    Et est-il possible d'indiquer une taille par colonne ? Car quand je lance la commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    twi = QTreeWidgetItem(self.mkv_tracks)
    twi.setText(0, "Vidéos")
    twi.setSizeHint(0, QSize(400,75))
    child = QTreeWidgetItem(twi)
    child.setText(0, "La video libre")
    child.setSizeHint(0, QSize(400,75))
    Ca marche bien au niveau hauteur mais pas en largeur...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    self.tableWidget.insertRow(0)
    self.tableWidget.setItem(0, 0, QTableWidgetItem(QIcon.fromTheme("video-x-generic"),""))
    self.tableWidget.item(0, 0).setSizeHint(QSize(450,55))
    self.tableWidget.setItem(0, 1, QTableWidgetItem(QIcon.fromTheme("dialog-cancel"),""))
    self.tableWidget.setItem(0, 2, QTableWidgetItem("La video libre"))
    self.tableWidget.setItem(0, 3, QTableWidgetItem("24.000"))
    La, j'ai le meme soucis avec le table, je vois pas trop comment on peut changer la taille...

  7. #27
    Expert éminent

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

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 301
    Points : 6 781
    Points
    6 781
    Par défaut
    Ça c'est pas bon du tout
    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
     
    class AboutUI(QtGui.QMainWindow, AboutUI.Ui_about_window):
        def __init__(self, parent=None):
            super(AboutUI, self).__init__(parent)
            self.setupUi(self) # Lance la fonction defenissant tous les widgets du fichier UI
            self.connectAction() # Lance la fonction faisant les connexions
     
            size_ecran = QtGui.QDesktopWidget().screenGeometry() # Taille de l'ecran
            size_fenetre = self.geometry() # Taille de la fenetre
            emplacement = (size_ecran.width()-size_fenetre.width())/2, (size_ecran.height()-size_fenetre.height())/2
            self.move((size_ecran.width()-size_fenetre.width())/2, (size_ecran.height()-size_fenetre.height())/2) # Place la fenetre en fonction de sa taille et de la taille de l'ecran
     
        def main(self): # Necessaire pour lancer l'application graphique
            self.show() # Affiche la fenetre
     
        def connectAction(self):
            self.licence_open.clicked.connect(self.LicenceOpen)
     
        def LicenceOpen(self):
            """Fonction ouvrant le fichier de la licence."""
            if os.path.exists(Configs["LicenceFile"]):
                os.system('xdg-open "%s"' %Configs["LicenceFile"])
     
     
    class MKVExtractorGui(QtGui.QMainWindow, MKVExtractorGuiUI.Ui_mkv_extractor_gui):
     
    ....
     
        def AboutMKVExtractorGui(self):
            """Affichage de la fenetre about."""
            self.About = QtGui.QMainWindow()
            self.ui2 = AboutUI()
            self.ui2.setupUi(self.About)
            self.About.show()
    Les classes Python n'héritent pas de deux classes Qt et il n'y a pas de raison d'avoir autant de classes QMainWindow de plus sous Qt5 QMainWindow a été déplacée dans QtWidgets.

    Je vois plutôt quelque chose comme ça:
    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
     
    # Je suppose que c'est un import
    from AboutUI import Ui_about_window
     
    class MKVExtractorGui(QtGui.QMainWindow):
     
    ....
     
        def AboutMKVExtractorGui(self):
            """Affichage de la fenetre about."""
            dialog = QtWidgets.QDialog()
            self.ui2 = AboutUI()
            self.ui2.setupUi(dialog, self)  # self pour le parent du dialogue
            self.ui2.licence_open.clicked.connect(self.LicenceOpen)
            dialog.show()
            reply = dialog.exec_()
     
        def LicenceOpen(self):
            """Fonction ouvrant le fichier de la licence."""
            if os.path.exists(Configs["LicenceFile"]):
                os.system('xdg-open "%s"' %Configs["LicenceFile"])
    Et normalement le dialogue se centre sur son parent.

    Je met en attachement la liste des classes selon la nouvelle disposition Qt5
    Fichiers attachés Fichiers attachés

  8. #28
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2013
    Messages : 563
    Points : 460
    Points
    460
    Par défaut
    J'ai pas réussis pour la 2eme fenêtre...

    j'ai essayé de suivre et de piger ton exemple mais que dalle...

    Je joins mes 3 fichiers, si tu peux essayer ca serait encore plus sympa que tout ce que tu as deja pu être :p

    Si au passage tu peux tester en qt5 si ca passe chez toi ou si c'est parce qu'il me manque des trucs...

    Et si jamais tu as une idée pour jouer avec la largeur des colonnes dont je parle dans mon message 26...

    Je suis super lourd.... désolé mais c'est comme ça que je comprends, c'est en voyant des petits codes et en les décortiquant...

    Je rencontre un autre soucis, je veux exécuter une commande depuis mon shell :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    os.popen("export LANGUAGE=en; mkvmerge -I /home/hizoka/free_mkv_test.mkv")
    mais j'ai vu que c'était une technique déprécié depuis python 2.2 (je crois), qu'il fallait passer par subprocess, mais impossible d'exporter la langue..
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    subprocess.check_output(["mkvmerge", "-I", "/home/hizoka/free_mkv_test.mkv"], universal_newlines=True)
    fonctionne mais pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    subprocess.check_output(["LANGUAGE=en", "mkvmerge", "-I", "/home/hizoka/free_mkv_test.mkv"], universal_newlines=True)
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "/usr/lib/python3.3/subprocess.py", line 576, in check_output
        with Popen(*popenargs, stdout=PIPE, **kwargs) as process:
      File "/usr/lib/python3.3/subprocess.py", line 824, in __init__
        restore_signals, start_new_session)
      File "/usr/lib/python3.3/subprocess.py", line 1448, in _execute_child
        raise child_exception_type(errno_num, err_msg)
    FileNotFoundError: [Errno 2] No such file or directory: 'LANGUAGE=en'
    ni :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    subprocess.check_output(["export", "LANGUAGE=en;", "mkvmerge", "-I", "/home/hizoka/free_mkv_test.mkv"], universal_newlines=True)
    est-il possible de réussir à passer cet export ?


    Merci pour la liste des classes
    Fichiers attachés Fichiers attachés

  9. #29
    Expert éminent

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

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 301
    Points : 6 781
    Points
    6 781
    Par défaut
    Essaye comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    subprocess.Popen(["env", "LANG=C", "mkvmerge", "-I", "/home/hizoka/free_mkv_test.mkv"], universal_newlines=True)
    Éventuellement change LANG=C par LANG=en.

    Tes fichiers, je regarderai quand j'aurai bu mon café.

  10. #30
    Expert éminent

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

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 301
    Points : 6 781
    Points
    6 781
    Par défaut
    C'était bien ce que je pensais, ton double héritage ne permet pas d'accéder à l'interface.
    Il faut toujours l'instancier séparément.

    J'ai convertis les .ui en .py et j'ai commenté about_window.setCentralWidget(self.centralwidget) dans AboutUI.py parce que cette méthode n'existe pas pour les dialogues.

    Il faudra aussi trouver autre chose pour shutil.wich ...
    Fichiers attachés Fichiers attachés

  11. #31
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mai 2013
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2013
    Messages : 89
    Points : 91
    Points
    91
    Par défaut
    @Vincent
    Je met en attachement la liste des classes selon la nouvelle disposition Qt5
    Merci.

    @Hizo
    C'est en lien qt quick a priori : http://ceg.developpez.com/tutoriels/...faces-simples/
    Quick et QML sont des choses differentes de ce que nous faisons. Mais je confirme que c'est très interressant et j'attends avec impatience la suite.

    Base toi plutot sur ce lien

    Tu comprendras qu'il faut bien spécifié le nom de l'objet dans Qt Designer, le fichier ui et le fichier généré.

    Vu que nous sommes dans la doc, je ne sais pas si tu connais ce lien là. il peut t'être utile.

    Pour tes imports de fichiers, je ne fais pas comme ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    from MKVExtractorGuiUI import Ui_MKVExtractorGuiUi
     
    class MKVExtractorGui(QMainWindow):
    Mais bon, c'est peut-etre pas la bonne méthode. Si cela marche ne change rien.

  12. #32
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2013
    Messages : 563
    Points : 460
    Points
    460
    Par défaut
    Vous etes bien matinaux pour un dimanche

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    subprocess.check_output(["env", "LANG=en", "mkvmerge", "-I", "/home/hizoka/Multimedia/Videos/Films/MKV/freemkv/free_mkv_test.mkv"], universal_newlines=True)
    Le probleme c'est qu'il attend que j'ai validé pour arreter le prompt.
    Mais en passant par check_ouput au lien de Popen, c'est bon


    A quoi sert le fichier "mkv.tar.gz" que tu as posté dans ton message ? il semble être identique à celui que j'ai envoyé.


    Pourquoi shutil.wich n'est-il pas le bienvenu ? je pensais justement que c'était le plus adapté et le plus récent (python3.3)


    As-tu une idée pour la largeur des colonnes du tree et tableWidget ? (le table de préférence car c'est surement ça que je vais utiliser)


    Avez vous pu tester si ca passait en qt5 chez vous ? (Cenwen ou VinsS)


    Cenwen, j'ai déjà lu ces liens
    sinon tu me dis que tu ne fais pas comme ça, tu fais comment du coup ?

  13. #33
    Expert éminent

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

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 301
    Points : 6 781
    Points
    6 781
    Par défaut
    Ah oui d'accord pour which, j'utilise Python3.2.

    L'archive que j'ai posté n'est pas du tout identique, regarde les déclarations de classes.

    Pour le QtableWidget, tu définis le nombe de colonnes avec setColumnCount(nombre)
    et la largeur de chaque colonne avec setColumnWidth(col, largeur),
    en général pour la dernière colonne, on lui laisse l'espace restant avec tree_widget.horizontalHeader().setStretchLastSection(True)

  14. #34
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2013
    Messages : 563
    Points : 460
    Points
    460
    Par défaut
    L'archive que j'ai posté n'est pas du tout identique, regarde les déclarations de classes.
    Oups, j'ai extrait mon propre fichier zip :p
    En effet ça marche bien, j'ai ajouté la connexion du bouton licence, ca passe nickel

    Ah oui d'accord pour which, j'utilise Python3.2.
    Quitte à partir de 0 au temps prendre les dernieres technologies :p

    Pour le table c'est nickel aussi !!

    Reste plus qu'à piger pourquoi qt5 ne fonctionne pas (chez moi en tout cas).

  15. #35
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2013
    Messages : 563
    Points : 460
    Points
    460
    Par défaut
    J'ai bien avancé dans mon projet

    Mais pour encore l’améliorer (ou du moins me rapprocher de l'esquivalent de la version actuelle utilisant bash + gtkdialog), je chercher à pousser l'utilisation du table :

    Est-il possible de faire en sorte que tout le tableau ne soit pas éditable ?
    mais simplement des colonnes ou au pire des cellules ?

    Est-il possible de relancer la gui ?
    j'ai vu qu'il fallait quitter la boucle (le loop) avant de pouvoir relancer le app.exec_().
    Mais je vois pas vraiment comment faire.

    Quelqu'un peut-il m'envoyer l'un de ses projets fonctionnant en qt5 svp que je teste voir si ca passe chez moi ?

    Merci à vous !

  16. #36
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mai 2013
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2013
    Messages : 89
    Points : 91
    Points
    91
    Par défaut
    J'ai bien avancé dans mon projet
    Super.

    Je suis super lourd.... désolé mais c'est comme ça que je comprends, c'est en voyant des petits codes et en les décortiquant..
    Je suis un peu comme toi. Cela vient de mon "apprentissage" avec GtK, vu que la doc est inexistante, j'ai plongé dans le code pour comprendre. Bon après, je ne suis pas programmeur.

    Avez vous pu tester si ca passait en qt5 chez vous ? (Cenwen ou VinsS)
    Pas mon code. Je me retrouve avec des erreurs d'import d'abord de QDialog puis de QApplication même si je les aies mis dans mes imports.Là je séche mais cela pourrait expliquer pourquoi cela ne fonctionnerait pas. Pourtant j'ai QT5 , pyQT5 d'installer et compiler en plus.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
      File "/home/olivier/Programmation/OpenshotDevPyQt5/PyQt5/Titles.py", line 11, in <module>
        class frmImportTitles(QDialog):
    NameError: name 'QDialog' is not defined
     
     
    Exécution Réuissie !
    Hizo j'ai remarqué des erreurs dans ton code lié à Python2.et Python3.
    Je m'explique : les %s sont remplacés par {} .format(nomdecequetuveux)


    A partir de def LogOpen(self): jusqu'à def MKVClean inclus. Désolé si je me suis trompé.Surtout que tu l'as fais plus loin correctement :

    Un exemple modifié sera plus clair :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    def MKVInfoGui(self):
    os.system('mkvinfo -g "{}".format(MKVLink))

  17. #37
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2013
    Messages : 563
    Points : 460
    Points
    460
    Par défaut
    bon bah y a pas que chez moi que ca ne passe pas avec qt5

    Je m'explique : les %s sont remplacés par {} .format(nomdecequetuveux)
    Ha oui j'ai pas fait gaffe que j'en avais laissé

  18. #38
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mai 2013
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2013
    Messages : 89
    Points : 91
    Points
    91
    Par défaut
    J'ai peut-être trouvé : j'ai une fenetre grise mais je pense peut-etre savoir d'où ça vient.

  19. #39
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mai 2013
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2013
    Messages : 89
    Points : 91
    Points
    91
    Par défaut
    Ben non. J'ai toujours une fenetre grise sans rien à l'interieur. J'ai un autre message d'erreur en console. Si quelqu'un a une idée.........

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "Qt Warning - invalid keysym: dead_actute"

  20. #40
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2013
    Messages : 563
    Points : 460
    Points
    460
    Par défaut
    Autre petite question, comment crée-t-on les fichiers ressources qrc ?
    D'apres la page ci-dessous, on peut le faire en qtdesigner.

    http://pyqt.developpez.com/tutoriels...uces/pyqt-4.4/

    Je cherche le meilleur moyen de traduire le logiciel, pas de soucis pour les fichiers UI, mais pour le fichier py, que fait on ?

    Il y a tr() mais qui semble deprecié.

    J'ai trouvé qtranslator mais il me renvoie ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Traceback (most recent call last):
      File "MKVExtractorGui.py", line 215, in OptionDelTemp
        print(QTranslator.translate("MKV", "New value for DelTemp option :"), toggle)
    TypeError: arguments did not match any overloaded call:
      QTranslator.translate(str, str, str disambiguation=None): first argument of unbound method must have type 'QTranslator'
      QTranslator.translate(str, str, str, int): first argument of unbound method must have type 'QTranslator'

    et comment fait on pour traduire les chaines de ce type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "Opening file : {}".format(Configs["MKVFileName"])
    http://pyqt.sourceforge.net/Docs/PyQt4/qtranslator.html

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 4 PremièrePremière 1234 DernièreDernière

Discussions similaires

  1. Nouveau avec une question sur Xcode
    Par shub22 dans le forum XCode
    Réponses: 0
    Dernier message: 24/11/2014, 12h15
  2. [API HTML5] Premier petit jeu et quelques questions.
    Par GalliezB dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 31/07/2013, 19h55
  3. [KPL] Quelques questions pour l'aborder avec mon fils
    Par yiannis dans le forum Autres langages
    Réponses: 16
    Dernier message: 22/12/2005, 09h25
  4. Tout nouveau, j'arrive avec une question ^^
    Par petitedouceur dans le forum C++
    Réponses: 25
    Dernier message: 06/11/2005, 00h48

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