Warning: Undefined array key "DOKU_PREFS" in /home/clients/a4e6fc1ce1761b72982b805de0f418c4/web/python/mesrecettespython/inc/common.php on line 2082
nouveaux_widgets [Les recettes Python de Tyrtamos]

Outils pour utilisateurs

Outils du site


nouveaux_widgets

Warning: Undefined array key -1 in /home/clients/a4e6fc1ce1761b72982b805de0f418c4/web/python/mesrecettespython/inc/html.php on line 1458

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
nouveaux_widgets [2016/06/04 08:40]
tyrtamos
nouveaux_widgets [2016/06/04 08:49]
tyrtamos
Ligne 175: Ligne 175:
  
 Dans les variables d'environnement de l'OS, on va passer: Dans les variables d'environnement de l'OS, on va passer:
- 
   * le chemin du répertoire "plugins" dans la variable "PYQTDESIGNERPATH"   * le chemin du répertoire "plugins" dans la variable "PYQTDESIGNERPATH"
   * le chemin du répertoire "widget" dans la variable "PYTHONPATH"   * le chemin du répertoire "widget" dans la variable "PYTHONPATH"
 +
 En conséquence, on peut placer ces deux répertoires n'importe où, et "coder en dur" ces 2 chemins dans le code de lancement du Designer, mais c'est un peu dommage. On va donc simplifier ici sur ce point: fixer l'emplacement relatif entre programme et données pour permettre au code de lancement du Designer de trouver automatiquement par calcul les répertoires des widgets. Voilà la structure choisie ici sur le disque: En conséquence, on peut placer ces deux répertoires n'importe où, et "coder en dur" ces 2 chemins dans le code de lancement du Designer, mais c'est un peu dommage. On va donc simplifier ici sur ce point: fixer l'emplacement relatif entre programme et données pour permettre au code de lancement du Designer de trouver automatiquement par calcul les répertoires des widgets. Voilà la structure choisie ici sur le disque:
  
Ligne 236: Ligne 236:
 </code> </code>
  
-Quand vous lancez ce code Python, le Designer vient à l'écran, et vous trouvez dans la colonne de gauche le widget personnalisé "MonLineEditWidget" dans la liste des widgets disponibles, et dans la catégorie définie ("Mes widgets perso"). Et vous pouvez alors l'utiliser comme n'importe quel autre widget. Dans cet exemple, vous voyez dans les propriétés de la colonne de droite que Designer a reconnu le type QLineEdit, et a initialisé les propriétés définies dans le fichier "plugin" (toolTip, whatsThis, styleSheet). +Quand vous lancez ce code Python, le Designer vient à l'écran, et vous trouvez dans la colonne de gauche le widget personnalisé "MonLineEditWidget" dans la liste des widgets disponibles, et dans la catégorie définie ("Mes widgets perso"). Vous pouvez alors l'utiliser comme n'importe quel autre widget. Dans cet exemple, vous voyez dans les propriétés de la colonne de droite que Designer a reconnu le type QLineEdit, et a initialisé les propriétés définies dans le fichier "plugin" (toolTip, whatsThis, styleSheet). 
  
 A noter que ce script qui appelle le Designer nécessite de pouvoir retrouver automatiquement les adresses à l'intérieur de PyQt5. Or, sous Windows, ces adresses sont données par un fichier **qt.conf**, situé à l'installation dans le répertoire de python.exe, et dont **//les données sont fausses!//** Il faut donc le corriger comme suit: A noter que ce script qui appelle le Designer nécessite de pouvoir retrouver automatiquement les adresses à l'intérieur de PyQt5. Or, sous Windows, ces adresses sont données par un fichier **qt.conf**, situé à l'installation dans le répertoire de python.exe, et dont **//les données sont fausses!//** Il faut donc le corriger comme suit:
Ligne 369: Ligne 369:
 # nom (str) du fichier du widget sans extension # nom (str) du fichier du widget sans extension
 FICHIERWIDGET = "geolocationwidget" FICHIERWIDGET = "geolocationwidget"
-# nom (str) de la classe du widget importe+# nom (str) de la classe du widget pour importer
 NOMCLASSEWIDGET = "GeoLocationWidget" NOMCLASSEWIDGET = "GeoLocationWidget"
-# nom (str) de l'instance cree dans Designer+# nom (str) de l'instance dans Designer
 NOMWIDGET = "geoLocationWidget" NOMWIDGET = "geoLocationWidget"
-# groupe (str) de widgets pour Designer+# groupe (str) de widgets pour affichage dans Designer
 GROUPEWIDGET = "Mes widgets perso" GROUPEWIDGET = "Mes widgets perso"
 # texte (str) pour le toolTip dans Designer # texte (str) pour le toolTip dans Designer
Ligne 379: Ligne 379:
 # texte (str) pour le whatsThis dans Designer # texte (str) pour le whatsThis dans Designer
 TEXTEWHATSTHIS = "Coordonnées GPS" TEXTEWHATSTHIS = "Coordonnées GPS"
-# icone (rien ou un QPixmap) pour presenter le widget dans Designer +# icone (rien ou un fichier image ou un QPixmap) pour afficher dans Designer 
-ICONEWIDGET = QtGui.QIcon()+ICONEWIDGET = QtGui.QIcon()  # sans image, l'icone est celui de Qt
 ... ...
 ... ...
nouveaux_widgets.txt · Dernière modification: 2016/06/04 08:49 de tyrtamos