Bonsoir,
Il y a quelques temps je pensais que qt5 permettait de charger directement les fichiers ui produit par qtdesigner mais il ne semblait que non...
Mais après quelques recherches, il s’avère que c'est bien possible depuis qt et pyqt > 4.4.
Pour cela c'est assez simple :
1) Importer la fonction uic depuis le module PyQt4
2) Indiquer l'emplacement du fichier ui
file = "/home/hizoka/ui_Test.ui"
3) Charger le fichier
widgets = uic.loadUi(file)
4) Afficher le tout
Apres quelques tests rapides :
- Les icônes systèmes n’apparaissent pas.
- Le contenu du fichier ressource fonctionne mais il faut charger le fichier dans le script python (ce qui était inutile car la conversion ui => py s'en chargeait).
- Les connexions internes fait par qtdesigner fonctionnent.
- Les connexions internes au fichier py fonctionne aussi.
ex :
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
| #!/usr/bin/python3
# -*- coding: utf-8 -*-
import os, sys
from PyQt4 import uic
from PyQt4.QtGui import *
from PyQt4.QtCore import *
import fichiers_rc
def AboutQt():
"""Fonction affichant la fenêtre à propos de Qt."""
QMessageBox.aboutQt(widgets)
if __name__ == '__main__':
app = QApplication(sys.argv)
file = "/home/hizoka/ui_Test.ui"
widgets = uic.loadUi(file)
widgets.show()
widgets.about_qt_open.activated.connect(AboutQt)
app.exec_() |
Cela nécessite de pousser un peu le fonctionnement mais c'est franchement sympa non ? 
Donnez moi votre avis sur la chose :
est-ce plus simple ?
est-ce limitant ?
... ?
Partager