J'ai quelques problèmes en utilisant la classe SaveFileDialog de .Net dans Python 3.4 avec le paquet pythonnet. Ci-dessus, vous verrez un petit échantillon de code pour illustrer ce problème. Le code lui-même fonctionne très bien jusqu'à ce que l'événement du clic sur le bouton se déclenche et que SaveFileDialog soit affiché avec "dialog.ShowDialog()" l'application se bloque et rien ne se passe du tout. Testé le même code avec l'interpréteur IronPython et cela a bien fonctionné. Je l'ai déjà cherché sur le web pour quelques réponses, mais rien trouvé lié à cette questionImpossible d'utiliser SaveFileDialog de .Net avec pythonnet
import clr
clr.AddReference("System.Windows.Forms")
clr.AddReference("System.Drawing")
from System.Windows.Forms import Form, Application, Button, SaveFileDialog
from System.Drawing import Point
class TestForm(Form):
def __init__(self):
self.button = Button()
self.addButton()
def addButton(self):
self.button.Location = Point(50,50)
self.button.Text = "Save s.th"
self.Controls.Add(self.button)
self.button.Click += self.buttonClick
def buttonClick(self, sender, event):
dialog = SaveFileDialog()
dialog.FileName = "test one"
dialog.Title = "Test One"
print("so far so good")
dialog.ShowDialog()
print("Never reaches this point")
Application.Run(TestForm())
Ok, j'ai fait une sorte de progrès avec mon problème. J'ai essayé de déjeuner le même code que j'ai posté ci-dessus avec spyder qui vient avec "WinPython" (voir). Mais si j'essaie de le compiler avec "pyinstaller", l'erreur réapparaît. Alors pourquoi ne fonctionne-t-il qu'avec spyder? –
voir ma réponse ci-dessous - j'ai testé et ça marche super! – denfromufa