IronPython 中的 OpenFileDialog
OpenFileDialog in IronPython
我有以下代码示例。我正在 Iron Python 中尝试 OpenFileDialog,但程序只是冻结而不是打开对话框 window。
#!/usr/bin/ipy
import clr
clr.AddReference("System.Windows.Forms")
clr.AddReference("System.Drawing")
from System.Windows.Forms import Application, Form, TextBox
from System.Windows.Forms import ToolBar, ToolBarButton, OpenFileDialog
from System.Windows.Forms import DialogResult, ScrollBars, DockStyle
class IForm(Form):
def __init__(self):
self.Text = "OpenDialog"
toolbar = ToolBar()
toolbar.Parent = self
openb = ToolBarButton()
self.textbox = TextBox()
self.textbox.Parent = self
self.textbox.Multiline = True
self.textbox.ScrollBars = ScrollBars.Both
self.textbox.WordWrap = False
self.textbox.Parent = self
self.textbox.Dock = DockStyle.Fill
toolbar.Buttons.Add(openb)
toolbar.ButtonClick += self.OnClicked
self.CenterToScreen()
def OnClicked(self, sender, event):
dialog = OpenFileDialog()
dialog.Filter = "C# files (*.cs)|*.cs"
if dialog.ShowDialog(self) == DialogResult.OK:
f = open(dialog.FileName)
data = f.read()
f.Close()
self.textbox.Text = data
Application.Run(IForm())
代码来自http://zetcode.com/tutorials/ironpythontutorial/dialogs/
我正在使用 IronPython 2.7.5
我做错了什么?我实际上如何打开文件对话框并读取文件?
提前致谢)
很明显,我在使用 IronPython 时遇到的所有问题都是因为我的计算机上安装了多个 Python 版本。除了 IronPython,我都删除了它们,然后手动将 IronPython 添加到路径中。在那之后它开始工作得很好,没有崩溃。
我有以下代码示例。我正在 Iron Python 中尝试 OpenFileDialog,但程序只是冻结而不是打开对话框 window。
#!/usr/bin/ipy
import clr
clr.AddReference("System.Windows.Forms")
clr.AddReference("System.Drawing")
from System.Windows.Forms import Application, Form, TextBox
from System.Windows.Forms import ToolBar, ToolBarButton, OpenFileDialog
from System.Windows.Forms import DialogResult, ScrollBars, DockStyle
class IForm(Form):
def __init__(self):
self.Text = "OpenDialog"
toolbar = ToolBar()
toolbar.Parent = self
openb = ToolBarButton()
self.textbox = TextBox()
self.textbox.Parent = self
self.textbox.Multiline = True
self.textbox.ScrollBars = ScrollBars.Both
self.textbox.WordWrap = False
self.textbox.Parent = self
self.textbox.Dock = DockStyle.Fill
toolbar.Buttons.Add(openb)
toolbar.ButtonClick += self.OnClicked
self.CenterToScreen()
def OnClicked(self, sender, event):
dialog = OpenFileDialog()
dialog.Filter = "C# files (*.cs)|*.cs"
if dialog.ShowDialog(self) == DialogResult.OK:
f = open(dialog.FileName)
data = f.read()
f.Close()
self.textbox.Text = data
Application.Run(IForm())
代码来自http://zetcode.com/tutorials/ironpythontutorial/dialogs/
我正在使用 IronPython 2.7.5
我做错了什么?我实际上如何打开文件对话框并读取文件?
提前致谢)
很明显,我在使用 IronPython 时遇到的所有问题都是因为我的计算机上安装了多个 Python 版本。除了 IronPython,我都删除了它们,然后手动将 IronPython 添加到路径中。在那之后它开始工作得很好,没有崩溃。