EcranSelectionPj.py 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. #from __future__ import unicode_literals
  2. # -*- coding: utf-8 -*-
  3. from __future__ import division
  4. from time import time, sleep, strftime, localtime
  5. from sys import argv
  6. from PyQt4.QtCore import *
  7. from PyQt4.QtGui import *
  8. from lib.Combattant import Combattant
  9. from lib.ui.ecran_selectionPj import Ui_spj_fenetre
  10. from lib.outilsSvg import *
  11. class EcranSelectionPj(QDialog):
  12. """interface de creation/chargement de plateau"""
  13. def __init__(self, terrain=None, parent=None):
  14. """initialisation de la fenetre"""
  15. super (EcranSelectionPj, self).__init__(parent)
  16. self._pjs = []
  17. self._nbLignes = 0
  18. self.createWidgets()
  19. def createWidgets(self):
  20. """construction de l'interface"""
  21. #construction de l'interface
  22. self.ui = Ui_spj_fenetre()
  23. self.ui.setupUi(self)
  24. self.connect(self.ui.spj_ok, SIGNAL("clicked()"), self.ok)
  25. self.connect(self.ui.spj_annuler, SIGNAL("clicked()"), self.annuler)
  26. def charger(self, listePj):
  27. idPj = 0
  28. for pj in listePj:
  29. item = QListWidgetItem()
  30. item.setData(0, idPj)
  31. item.setIcon(QIcon("img\\{}".format(pj.logo)))
  32. item.setText(QString().fromUtf8(pj.nom))
  33. police = QFont(QString("Verdana"))
  34. police.setBold(True)
  35. item.setFont(police)
  36. self.ui.spj_liste.insertItem(idPj, item)
  37. idPj += 1
  38. self._nbLignes = idPj
  39. def selection(self):
  40. return self._pjs
  41. def ok(self):
  42. for ligne in range(0, self._nbLignes):
  43. item = self.ui.spj_liste.item(ligne)
  44. if self.ui.spj_liste.isItemSelected(item):
  45. self._pjs.append(str(item.data(ligne).toString().toUtf8()))
  46. self.done(1)
  47. def annuler(self):
  48. self.done(0)
  49. if __name__ == "__main__":
  50. app = QApplication(argv)
  51. lst = chargerUnique("F:\\DMonde\\parties\\Partie1\\groupe")
  52. dm = EcranSelectionPj()
  53. dm.charger(lst)
  54. dm.show()
  55. r = app.exec_()
  56. print dm.selection()
  57. exit(r)