私はPythonの新機能です。私は今学期にバイオインフォマティクスクラスを受講しました。私の最終的なプロジェクトでは、将来私の研究室で使用できるアプリを作りたいと思っています。 PyCharmで実際のプログラムを作成してテストしましたが、GUIと統合して実行可能ファイルを作成して、IDEを開くことなく誰でも使用できるようにしたいと考えています。私のコードをwxgladeのGUIと統合する
これまでのところ、入力ファイルの経路を取得するボタン付きの単純なフレームがあります。私はこの経路をとって、私の既存のコードに挿入したいと思っています。 class MyFrame(wx.Frame):
の下にネストwxGlade
コードから:
def OnOpenFileDialog(self, event): # wxGlade: MyFrame.<event_handler>
dlg = wx.FileDialog(self, message="Choose a file")
if dlg.ShowModal() ==wx.ID_OK:
f = dlg.GetPath()
filename_input = re.sub("\\\\", "/", f)
dlg.Destroy()
私はfilename_input
を取り、それをここに入れたい:
columns = defaultdict(list) # each value in each column is appended to a list
with open(filename_input) as file_object: # open the file
reader = csv.DictReader(file_object, delimiter='\t') # assign the file reader
for row in reader: # read a row as {column1: value1, column2: value2,...}
for (k,v) in row.items(): # for each column (position) and value (residue)
if v != '': # if the value isn't blank
columns[k].append(v) # append the residue to a list for that position
をしかし、それだけでは、そのブロックに存在するOnOpenFileDialog
ブロック内で定義されたもののように思えます。では、私のコードをGUIにどのように組み込むべきですか?私はdef OnOpenFileDialog
の下にすべてそれを貼り付けるように感じる非常に醜いと悪いです。私は本当にどこから始めるべきか分かりません。申し訳ありませんが、この質問が混乱している場合は、必要があるかどうかを明確にしようとします。ありがとう