python - wxpython 显示类型列表
问题描述
我正在阅读一些 csv 数据文件并尝试显示数据。如果我按行读取它们,我可以按行将数据显示到 wx.TextCtrl 。如果我将数据作为列表读取:
exampleFile = open('example.csv')
exampleReader = csv.reader(exampleFile)
exampleData = list(exampleReader)
print (exampleData)
self.logger.AppendText(exampleData)
打印工作正常,但我收到以下错误:
TypeError: TextEntry.AppendText(): argument 1 has unexpected type 'list'
在 wxPython 中显示列表数据的首选方式是什么?
解决方案
在用 Python 创建日志窗口的@Shane 回答的帮助下,我为您制作了一个示例。
# -*- coding: utf-8 -*-
import wx
import threading
import time
class ExamplePanel(wx.Panel):
def __init__(self, parent):
wx.Panel.__init__(self, parent)
self.quote = wx.StaticText(self, label="Your Log :", pos=(10, 10))
self.logger = wx.TextCtrl(self, pos=(0,40), size=(1100,1100), style=wx.TE_MULTILINE | wx.TE_READONLY)
########################################################################
# Use a thread to start your task
########################################################################
task_thread = threading.Thread(target = self.my_task, args = ())
task_thread.setDaemon(True)
task_thread.start()
def append_txt(self,txt):
self.logger.AppendText(txt)
def my_task(self):
########################################################################
# Do your job right here and update log
########################################################################
exampleFile = open('example.csv')
exampleReader = csv.reader(exampleFile)
# exampleData = list(exampleReader)
print (exampleData)
self.logger.AppendText('CSV output : \n' )
self.logger.AppendText('\n'.join(map(str,exampleData)))
'''for i in range(100):
self.append_txt('\nNew line added(No.%s)' % (i + 1))
time.sleep(1)
'''
def sample_Window():
app = wx.App(False)
frame = wx.Frame(None)
panel = ExamplePanel(frame)
frame.Show()
app.MainLoop()
sample_Window()
您对代码的具体答案是:
exampleFile = open('example.csv')
exampleReader = csv.reader(exampleFile)
# exampleData = list(exampleReader)
print (exampleData)
self.logger.AppendText('CSV output : \n' )
self.logger.AppendText('\n'.join(map(str,exampleData)))
我的示例 csv 内容是:
Col1,Col2
1,2
M,N
干杯。
推荐阅读
- jointjs - 如何使用 JointJS 获取 UML 类的 elementView 大小?
- python - 具有默认参数和命名空间的模块函数?
- xml - XML - 元素的属性 - MS Access
- uncrustify - Uncrustify - 删除块评论内容的缩进
- function - 在 Matlab 中查找多项式的零点、最小值和最大值
- python - 如何在不覆盖列表 Python 的情况下迭代不同的行
- mysql - MySQL 日期范围查询优化
- c# - 创建一个用于所有 .cs 文件的类?
- api - Google Map API 限制问题
- facebook - Facebook 缓存 og:image 即使在使用缓存破坏者参数或更改图像文件名之后