8Fermer10
flankerLe 07/07/2014 à 22:14
squalyl (./7) :
question con, as tu fais des essais avec des exemples, et est ce qu'ils plantent?

parce que certains collègues ont déja livré des applis avec pyqt et ils ont pas eu tous ces problèmes.

En fait, j'ai pas mal d'expérience avec PyQt + Python 2 et très peu de crash (voire aucun avec les dernières versions de PyQt).

Par contre, j'ai trouvé assez pénible à utiliser (plein de code à écrire), donc j'ai commencé à écrire une lib de plus haut niveau avec PySide + Python 3 pour faciliter la vie. Et là, j'ai un peu plus de crash, ce qui rend la chose assez pénible.




Pour ma lib, si j'ai besoin d'une boîte de dialogue, j'écris simplement les champs que je veux et leurs types.
Si je veux une fenêtre avec une barre de menu et une toolbar, je mets un décorateur avant les fonctions à appeler.
Pour les préférences, j'écris une classe avec les valeurs demandées (genre derniers fichiers ouverts), avec des garanties sur l'existence et la validité de ces valeurs.
class SampleForm(Form): str_value = CharField(default='my_str', verbose_name='String value') int_value = IntegerField(default=42, required=True, verbose_name='Integer value') filename = FilepathField(verbose_name='A file path') class SampleBaseWindows(BaseMainWindow): @menu_item(menu='TestMenu', verbose_name='TestMenuItem') @toolbar_item(icon='qthelpers:resources/icons/ToolbarDocumentsFolderIcon.png') def test_menu_1(self): print('test_menu_1') def test_1(self): SampleFormDialog.get_values() # dictionnaire {'int_value': 42, 'filename': None, 'str_value': 'my_str'}