如何仅在wx.Listctrl列表的一列中加载文件
我在使用wx.Listctrl创建的列表之一上加载文件时遇到问题,我可以从目录中打开该文件,但它既没有加载该文件,也没有给出任何错误,PanelTwo.on.open()是从另一个面板调用的。 它在打开文件之前可以正常工作,但在打开文件之后看不到输出 我不知道我做错了什么,因为我使用wxpython只有几个月的时间,而且在网上也找不到任何解决方案。 请帮忙 ----------------------------------------------------------------------如何仅在wx.Listctrl列表的一列中加载文件,list,python-2.7,wxpython,List,Python 2.7,Wxpython,我在使用wx.Listctrl创建的列表之一上加载文件时遇到问题,我可以从目录中打开该文件,但它既没有加载该文件,也没有给出任何错误,PanelTwo.on.open()是从另一个面板调用的。 它在打开文件之前可以正常工作,但在打开文件之后看不到输出 我不知道我做错了什么,因为我使用wxpython只有几个月的时间,而且在网上也找不到任何解决方案。 请帮忙 ----------------------------------------------------------------------
这在我看来是合理的。没有更多的信息,就很难知道出了什么问题。如果出现故障,具体是哪一行?当你打印出这一行的输入时,它是否合理?嗨,Tom10,我修复了它,我必须插入行,使它在调用ON_Open时更新特定列,感谢您的响应。rows=f.readlines()info=wx.ListItem()用于行中的行:info.SetText(row)self.list\u ctrl.InsertItem(info)很抱歉,我无法在注释部分适当更新代码格式。
class PanelTwo(wx.Panel):
#----------------------------------------------------------------------
def __init__(self, parent):
"""Constructor"""
wx.Panel.__init__(self, parent=parent)
self.list_ctrl = wx.ListCtrl(self,size=(700,650),
style=wx.LC_REPORT|wx.LC_HRULES|wx.LC_VRULES)
list1 = self.list_ctrl.InsertColumn(0, "Command", width=300)
list2 = self.list_ctrl.InsertColumn(1, "Response", width=300)
list3 = self.list_ctrl.InsertColumn(2, "Status", width=50)
sizer = wx.BoxSizer(wx.VERTICAL)
sizer.Add(self.list_ctrl, 0, wx.ALL|wx.EXPAND, 5)
self.SetSizer(sizer)
self.Layout()
#----------------------------------------------------------------------
def On_Open(self):
self.dirname="" #set directory name to blank
dlg = wx.FileDialog(self, "Choose a file to open", self.dirname, "", "*.*", wx.OPEN)
if dlg.ShowModal() == wx.ID_OK:
self.filename = dlg.GetFilename()
self.dirname = dlg.GetDirectory()
with (open(os.path.join(self.dirname, self.filename), 'r')) as f:
list1 = f.readlines()
f.close()
dlg.Destroy()