Question

J'ai deux ou trois questions.

J'ai un algorithme qui va générer quelques images en python qui doivent être affichées sur un formulaire. J'utilise PyGt pour cela. Ma question est: où dois-je exécuter mon code? Dès le initialiseur? Dans ce cas, de ce que je l'ai testé, la forme ne sera pas affiché.

  • Dois-je mettre en place une minuterie dans la constructeur qui commence mon algorithme un demi-seconde plus tard?
  • Est-ce que l'exécution de l'algorithme de geler mon forme rendant impossible de voir le lui-même image? Cela ne me dérange pas que le boutons, cases à cocher, etc. gèlent tout on calcule, à condition que la image actuelle est encore visible.
  • Dois-je utiliser quelque chose comme c # 's OnFormLoad ()? Si oui, comment puis-je configurer il? Grâce à connect ()?
  • Comment le filetage travail sur python? Je l'ai entendu, mais je ne suis pas trop sûr à ce sujet, que c'était une douleur à traiter avec. Est-il? En c #, il est aussi facile que écrire 4 lignes. Je voudrais l'utiliser si possible, mais si elle va être difficile à mettre en œuvre, je peux vivre sans elle.

Merci

Était-ce utile?

La solution

Vous pouvez consulter le Mandelbrot exemple .

En fait, l'idée est d'utiliser un thread de travail pour faire les calculs lourds (je vous suggère un QThread pour faciliter la communication au thread principal en utilisant des signaux / slots), puis une fois que le travail est fait émettre un signal avec le les données calculées et ont le fil conducteur peindre. Vous pouvez également rendre l'image dans le thread de travail si vous le souhaitez.

Autres conseils

Vous pouvez exécuter l'algorithme dans un thread séparé, en plaçant les données dans une file d'attente lorsque vous avez terminé. Le fil principal (GUI) sera périodiquement échantillonner la file d'attente et d'afficher les données quand il arrive.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top