web-dev-qa-db-fra.com

Présentation d'une liste d'actions séquentielles dans une application Windows

Je programme une petite application PC qui est principalement utilisée pour effectuer un ensemble d'actions séquentielles, étape par étape, et je me demande quelle serait une façon "standard" de concevoir son interface utilisateur, donc elle suivrait les conventions les choses se font généralement dans les applications Windows PC. Je suis assez nouveau dans la conception d'interface graphique et je ne sais pas quels modèles ou styles sont appropriés pour cela.

Quelques détails supplémentaires sur ce qu'il devrait faire et comment il serait utilisé:

  • Chaque action est généralement déclenchée séparément par l'utilisateur, bien que je puisse ajouter plus tard un mode "automatique" où l'application les exécute un par un sans intervention de l'utilisateur.

  • L'interface doit visualiser quelles actions ont déjà été effectuées et lesquelles ne l'ont pas été, et quelles actions sont activées/désactivées à tout moment. Je pensais à une sorte de liste d'actions avec des coches, mais peut-être qu'une autre approche est meilleure ...

  • Dans le cas d'utilisation le plus courant, l'utilisateur exécuterait les actions dans l'ordre (actions A, B, C, D ...) et n'est pas autorisé à les faire dans un ordre différent. par exemple, après l'exécution de "A", seul "B" est activé et les autres sont désactivés. Cependant, il existe un autre cas d'utilisation où l'utilisateur peut effectuer les actions dans un ordre aléatoire (C, A, D, B, ...). c'est une des raisons pour lesquelles j'ai rejeté le style "Wizard" (série de dialogues), qui force la progression linéaire.

  • L'utilisateur peut faire d'autres choses entre les actions de la liste (par exemple, il modifierait manuellement certaines valeurs dans une table qui a été remplie par une action précédente).

Une idée a été d'implémenter cela comme une liste verticale de boutons, chacun avec une coche (en lecture seule) près d'elle qui indique si cette action a déjà été effectuée. Cependant, je ne suis pas satisfait de cette idée, elle n'apparaît même pas à distance "standard" ou conventionnelle dans les applications PC (les contre-exemples sont les bienvenus :-))

Une variante de ce qui précède serait de remplacer les boutons d'action par du texte cliquable (comme des hyperliens), encore une fois avec une sorte de coche près de chaque élément. Cet exemple de Dropbox est proche de ce que je veux dire. cependant, je ne sais pas à quel point il est conventionnel dans les applications PC Windows de cliquer sur du texte "nu" au lieu d'un bouton pour déclencher des actions.

Si cela est pertinent, l'application sera implémentée en Python en utilisant le framework GUI wxPython (ma première utilisation de wxPython).

Toutes les idées ou exemples seraient appréciés!

À propos du programme

Il s'agit d'un utilitaire pour automatiser certains processus back-end pour une petite entreprise de vente en ligne (que je dirige, avec quelques autres personnes). Bien que la base d'utilisateurs totale du logiciel ne dépassera probablement jamais un seul chiffre et que, par conséquent, la conception ne soit pas vraiment critique, je voudrais quand même prenez-le comme un exercice de conception d'interface utilisateur professionnelle.

Les principales actions du programme sont plus ou moins celles-ci (dans l'ordre):

  • Récupérez certaines données client/vente à partir d'une base de données d'un logiciel de gestion des ventes commerciales que j'utilise et affichez-les dans un tableau, ce qui permet éventuellement à l'utilisateur de modifier manuellement certaines des données du tableau.

  • Traitez ces données et créez un fichier adapté au téléchargement sur le site Web du service postal local.

  • Téléchargez le fichier ci-dessus sur le site Web. Cela peut être fait manuellement au début, par l'utilisateur avec un navigateur, jusqu'à ce que j'écrive le code d'automatisation pour cette étape.

  • Recevez des fichiers du site et traitez-les.

  • Enregistrez un PDF avec les étiquettes d'expédition, basé sur les informations reçues du site Web, pour une impression ultérieure.

  • Envoyez ce PDF à une autre personne par e-mail, en ajoutant éventuellement un message personnalisé ajouté par l'utilisateur à l'e-mail.

  • Enregistrez un autre fichier avec un résumé du lot d'expédition.
  • Générez et enregistrez un autre fichier (PDF avec factures).
  • Remettez certaines données (par exemple, les numéros de suivi) dans la base de données.

Plusieurs des actions peuvent échouer (par exemple: site Web en panne, base de données inaccessible, ou l'envoi est rejeté pour une raison quelconque). L'utilisateur peut vouloir les réessayer, éventuellement après avoir modifié quelque chose manuellement. Certains modes de défaillance nécessitent de revenir en arrière plusieurs actions plutôt que de simplement répéter la dernière. Cela peut impliquer que toutes les actions passées doivent être activées, pas seulement la suivante.

En termes de ce qui devrait être à l'écran: le programme devrait probablement afficher un journal des actions au fur et à mesure qu'elles sont prises, ainsi que le tableau mentionné ci-dessus, et probablement quelques données supplémentaires (par exemple un résumé des détails sur le lot d'expédition).

En plus du cas d'utilisation séquentiel décrit ci-dessus de la création d'un nouveau lot d'expédition, un deuxième mode de fonctionnement ouvre un lot d'expédition existant et permet de déclencher individuellement chacune des actions ci-dessus, par exemple, générer uniquement des factures pour le lot que j'ai ouvert. C'est le cas d'utilisation où les actions sont effectuées non dans l'ordre, que j'ai mentionné précédemment.

2
tinkerer

J'utiliserais de grandes icônes colorées disposées horizontalement (comme une barre d'outils). Si cet utilisateur peut effectuer cette action, l'icône est activée, sinon elle est fanée.

Lorsque vous cliquez sur l'icône, l'espace d'application ci-dessous est rempli avec le contenu de cette action.

Cela donnera accès à chaque processus et donnera des indices visuels sur les prochaines étapes.

1
Andrew Neely