私の問題は、ツリーにノードがあると、ツリーがファイルに保存されないことです。
ファイルに保存するコードは次のとおりです。
def project_save(self):
try:
output = open(self.project_file, 'w+')
output.write(self.tree.GetItemText(self.root) + '\n')
count = self.tree.GetChildrenCount(self.root)
iter = 0
child = ''
for i in range(count):
if i == 0:
child, cookie = self.tree.GetFirstChild(self.root)
else:
child, cookie = self.tree.GetNextChild(self.root, cookie)
output.write(self.tree.GetItemText(child) + '\n')
output.close()
self.projectdirty = False
except IOError:
MsgDlg(self, 'There was an error saving the new project file.', 'Error!', wx.OK)
私のツリーが次のようになったとき:
root
|
---item
|
---item
それはうまく動作します
しかし、私のツリーが次のようになると:
root
|
---item
|
---item
|
-node
|
---item
|
---item
エラーが発生し、ファイルが空白になります
ファイル「project_manager.py」
output.write(self.tree.GetItemText(child) + '\n')
ファイル "C:\Python27\lib\sit-packages\wx-2-8-msw-ansi\wx\contrls.py"、行 5303、GetItemText 内
コントロールを返す.TreeCtrl_GetItemText(*args, **kwargs)
wx._core.PyAssertionError: c++ アサーション "item.IsOk()" が wxTreeCtrl::GetItemText() の ....\src\msw\treectrl.cpp(963) で失敗しました: 無効なツリー項目