2016-04-07 20 views
0

次のコード例があります。私は鉄のPythonでOpenFileDialogを試していますが、プログラムはダイアログウィンドウを開くのではなくフリーズします。IronPythonのOpenFileDialog

#!/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

を使用していますか?そして、実際にOpenFileDialogを使ってファイルを読む方法は?私は自分のコンピュータにインストールされているいくつかのPythonのバージョンを持っていたので、事前に

おかげで)

答えて

0

だから、明らかにIronPythonの持つすべての私の悩みでした。 IronPython以外のすべてを削除してから、IronPythonをパスに手動で追加しました。その後、クラッシュすることなく完全に正常に動作するようになりました。