У меня есть некоторые проблемы с использованием класса SaveFileDialog .Net в Python 3.4 с пакетом pythonnet. Выше вы увидите небольшой пример кода, демонстрирующий эту проблему. Сам код работает довольно хорошо, пока не сработает событие нажатия кнопки, и SaveFileDialog не должен отображаться с помощью «dialog.ShowDialog()», приложение зависает, и вообще ничего не происходит. Протестировал тот же код с интерпретатором IronPython, и он работал нормально. Я уже искал в Интернете некоторые ответы, но не нашел ничего, связанного с этой проблемой.
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())