j'ai un petit problème avec une appliaction python qui utilise wxpython.
Concrétement, un thread de calcul appel cette méthode :
def paint(self, blues):
self.frame.blues = blues
self.frame.Refresh(True)
et la fonction on_paint du frame est sensé faire les dessins. Le problème,
c'est que les dessins ne sont raffraîchi que si je bouge la souris sur la
fenêtre de l'application, alors que je pensais qu'en appelant le
frame.Refresh(True), ça allait se faire automatiquement.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
francois
On Jun 26, 12:49 pm, Ali wrote:
Bonjour
j'ai un petit problème avec une appliaction python qui utilise wxpython. Concrétement, un thread de calcul appel cette méthode : def paint(self, blues): self.frame.blues = blues self.frame.Refresh(True)
et la fonction on_paint du frame est sensé faire les dessins. Le probl ème, c'est que les dessins ne sont raffraîchi que si je bouge la souris sur la fenêtre de l'application, alors que je pensais qu'en appelant le frame.Refresh(True), ça allait se faire automatiquement.
Quelqu'un peut m'aider?
Normalement les opérations sur la GUI doivent se faire dans le thread principal (sous Linux pas mal de librairies ne sont pas thread-safe).
Il a des explications dans le livre "WxPython in Action" p 539 "Creating a multithreaded wxPython application"
Pour ma part j'utilise donc des CallAfter:
http://wiki.wxpython.org/CallAfter
francois
On Jun 26, 12:49 pm, Ali <neish...@enst.fr> wrote:
Bonjour
j'ai un petit problème avec une appliaction python qui utilise wxpython.
Concrétement, un thread de calcul appel cette méthode :
def paint(self, blues):
self.frame.blues = blues
self.frame.Refresh(True)
et la fonction on_paint du frame est sensé faire les dessins. Le probl ème,
c'est que les dessins ne sont raffraîchi que si je bouge la souris sur la
fenêtre de l'application, alors que je pensais qu'en appelant le
frame.Refresh(True), ça allait se faire automatiquement.
Quelqu'un peut m'aider?
Normalement les opérations sur la GUI doivent se faire dans le thread
principal (sous Linux pas mal de librairies ne sont pas thread-safe).
Il a des explications dans le livre "WxPython in Action" p 539
"Creating a multithreaded wxPython application"
j'ai un petit problème avec une appliaction python qui utilise wxpython. Concrétement, un thread de calcul appel cette méthode : def paint(self, blues): self.frame.blues = blues self.frame.Refresh(True)
et la fonction on_paint du frame est sensé faire les dessins. Le probl ème, c'est que les dessins ne sont raffraîchi que si je bouge la souris sur la fenêtre de l'application, alors que je pensais qu'en appelant le frame.Refresh(True), ça allait se faire automatiquement.
Quelqu'un peut m'aider?
Normalement les opérations sur la GUI doivent se faire dans le thread principal (sous Linux pas mal de librairies ne sont pas thread-safe).
Il a des explications dans le livre "WxPython in Action" p 539 "Creating a multithreaded wxPython application"
Pour ma part j'utilise donc des CallAfter:
http://wiki.wxpython.org/CallAfter
francois
Ali
On Tue, 26 Jun 2007 14:02:47 +0000, francois wrote:
Normalement les opérations sur la GUI doivent se faire dans le thread principal (sous Linux pas mal de librairies ne sont pas thread-safe).
Il a des explications dans le livre "WxPython in Action" p 539 "Creating a multithreaded wxPython application"
Pour ma part j'utilise donc des CallAfter:
http://wiki.wxpython.org/CallAfter
francois
o/ Merci beaucoup!
On Tue, 26 Jun 2007 14:02:47 +0000, francois wrote:
Normalement les opérations sur la GUI doivent se faire dans le thread
principal (sous Linux pas mal de librairies ne sont pas thread-safe).
Il a des explications dans le livre "WxPython in Action" p 539
"Creating a multithreaded wxPython application"
On Tue, 26 Jun 2007 14:02:47 +0000, francois wrote:
Normalement les opérations sur la GUI doivent se faire dans le thread principal (sous Linux pas mal de librairies ne sont pas thread-safe).
Il a des explications dans le livre "WxPython in Action" p 539 "Creating a multithreaded wxPython application"
Pour ma part j'utilise donc des CallAfter:
http://wiki.wxpython.org/CallAfter
francois
o/ Merci beaucoup!
hg
francois wrote:
On Jun 26, 12:49 pm, Ali wrote:
Bonjour
j'ai un petit problème avec une appliaction python qui utilise wxpython. Concrétement, un thread de calcul appel cette méthode : def paint(self, blues): self.frame.blues = blues self.frame.Refresh(True)
et la fonction on_paint du frame est sensé faire les dessins. Le problème, c'est que les dessins ne sont raffraîchi que si je bouge la souris sur la fenêtre de l'application, alors que je pensais qu'en appelant le frame.Refresh(True), ça allait se faire automatiquement.
Quelqu'un peut m'aider?
Normalement les opérations sur la GUI doivent se faire dans le thread principal (sous Linux pas mal de librairies ne sont pas thread-safe).
Il a des explications dans le livre "WxPython in Action" p 539 "Creating a multithreaded wxPython application"
Pour ma part j'utilise donc des CallAfter:
http://wiki.wxpython.org/CallAfter
francois
Essaye un wx.Timer avec Refresh dans le thread principal.
hg
francois wrote:
On Jun 26, 12:49 pm, Ali <neish...@enst.fr> wrote:
Bonjour
j'ai un petit problème avec une appliaction python qui utilise wxpython.
Concrétement, un thread de calcul appel cette méthode :
def paint(self, blues):
self.frame.blues = blues
self.frame.Refresh(True)
et la fonction on_paint du frame est sensé faire les dessins. Le
problème, c'est que les dessins ne sont raffraîchi que si je bouge la
souris sur la fenêtre de l'application, alors que je pensais qu'en
appelant le frame.Refresh(True), ça allait se faire automatiquement.
Quelqu'un peut m'aider?
Normalement les opérations sur la GUI doivent se faire dans le thread
principal (sous Linux pas mal de librairies ne sont pas thread-safe).
Il a des explications dans le livre "WxPython in Action" p 539
"Creating a multithreaded wxPython application"
Pour ma part j'utilise donc des CallAfter:
http://wiki.wxpython.org/CallAfter
francois
Essaye un wx.Timer avec Refresh dans le thread principal.
j'ai un petit problème avec une appliaction python qui utilise wxpython. Concrétement, un thread de calcul appel cette méthode : def paint(self, blues): self.frame.blues = blues self.frame.Refresh(True)
et la fonction on_paint du frame est sensé faire les dessins. Le problème, c'est que les dessins ne sont raffraîchi que si je bouge la souris sur la fenêtre de l'application, alors que je pensais qu'en appelant le frame.Refresh(True), ça allait se faire automatiquement.
Quelqu'un peut m'aider?
Normalement les opérations sur la GUI doivent se faire dans le thread principal (sous Linux pas mal de librairies ne sont pas thread-safe).
Il a des explications dans le livre "WxPython in Action" p 539 "Creating a multithreaded wxPython application"
Pour ma part j'utilise donc des CallAfter:
http://wiki.wxpython.org/CallAfter
francois
Essaye un wx.Timer avec Refresh dans le thread principal.
hg
NicolasP
Bonjour
j'ai un petit problème avec une appliaction python qui utilise wxpython. Concrétement, un thread de calcul appel cette méthode : def paint(self, blues): self.frame.blues = blues self.frame.Refresh(True)
et la fonction on_paint du frame est sensé faire les dessins. Le problème, c'est que les dessins ne sont raffraîchi que si je bouge la souris sur la fenêtre de l'application, alors que je pensais qu'en appelant le frame.Refresh(True), ça allait se faire automatiquement.
Quelqu'un peut m'aider?
Pour ma part, j'utilise wx.PostEvent pour evoyer des évènements au thread principal (celui qui gère l'affichage) à partir des threads "travailleurs".
Je peux poster un exemple si nécessaire (c'est un petit peu long).
Nicolas
Bonjour
j'ai un petit problème avec une appliaction python qui utilise wxpython.
Concrétement, un thread de calcul appel cette méthode :
def paint(self, blues):
self.frame.blues = blues
self.frame.Refresh(True)
et la fonction on_paint du frame est sensé faire les dessins. Le problème,
c'est que les dessins ne sont raffraîchi que si je bouge la souris sur la
fenêtre de l'application, alors que je pensais qu'en appelant le
frame.Refresh(True), ça allait se faire automatiquement.
Quelqu'un peut m'aider?
Pour ma part, j'utilise wx.PostEvent pour evoyer des évènements au thread principal (celui qui gère l'affichage) à partir des threads "travailleurs".
Je peux poster un exemple si nécessaire (c'est un petit peu long).
j'ai un petit problème avec une appliaction python qui utilise wxpython. Concrétement, un thread de calcul appel cette méthode : def paint(self, blues): self.frame.blues = blues self.frame.Refresh(True)
et la fonction on_paint du frame est sensé faire les dessins. Le problème, c'est que les dessins ne sont raffraîchi que si je bouge la souris sur la fenêtre de l'application, alors que je pensais qu'en appelant le frame.Refresh(True), ça allait se faire automatiquement.
Quelqu'un peut m'aider?
Pour ma part, j'utilise wx.PostEvent pour evoyer des évènements au thread principal (celui qui gère l'affichage) à partir des threads "travailleurs".
Je peux poster un exemple si nécessaire (c'est un petit peu long).
Nicolas
Ali
On Wed, 27 Jun 2007 09:18:12 +0200, NicolasP wrote:
Pour ma part, j'utilise wx.PostEvent pour evoyer des évènements au thread principal (celui qui gère l'affichage) à partir des threads "travailleurs".
Le callAfter semble avoir résolu le problème. Mais c'est bon à savoir. Merci :)
On Wed, 27 Jun 2007 09:18:12 +0200, NicolasP wrote:
Pour ma part, j'utilise wx.PostEvent pour evoyer des évènements au thread principal
(celui qui gère l'affichage) à partir des threads "travailleurs".
Le callAfter semble avoir résolu le problème. Mais c'est bon à savoir.
Merci :)